java - Ajax 不会在成功时重新加载 jsp
问题描述
环境:IE7、jQuery 1.1、Struts 1
上下文:对 Java 方法进行 ajax 调用,最后重新加载相同的 jsp。
步骤是:jsp A -->请求java方法-->做一些事情-->ActionForward到jsp A,在响应中返回。实际上,我正在使用 location.href 使用单个请求来执行此操作,并且它工作正常。
现在我需要处理多个请求和条件,我认为的唯一方法是使用带有 async:false 的嵌套 ajax 调用,但这不是重点。
问题是 ajax 不会像 location.href 那样重新加载 jsp。这个jsp只是主jsp的一小部分,所以我不会重新加载整个jsp。我想我必须以某种方式处理响应,但是如何处理呢?
使用 location.href 调用:
<script>
function myFunction(){
location.href = 'path/to/java/method=with_some_parameters';
}
</script>
用ajax调用:
<script>
function myFunction(){
jQuery.ajax({
url:'path/to/java/method=with_some_parameters'
async:false,
success:function(data){
//nested ajax
}
});
}
</script>
有一个类似的问题: Reload a page after jquery ajax call,但没有帮助。
另一个:如何在 jQuery Ajax 调用之后管理重定向请求,这看起来更好。我正在尝试一些事情。
解决方案
当我在响应中获得完整的 html(在我的情况下为“数据”)时,它使用
function myFunction(){
jQuery.ajax({
url:'path/to/java/method=with_some_parameters'
async:false,
success:function(data){
document.open();
document.write(data);
document.close();
//nested ajax
}
});
}
推荐阅读
- javascript - 链接文件以在不更改页面 url 的情况下以表单形式下载
- python-3.x - 事件或命令中的函数 def 异步
- api - 在我的 api 请求调用中,无论我如何尝试,我总是会收到 401 错误,我总是会遇到同样的错误
- html - 在所有设备中以固定对齐方式在图像上显示按钮
- c++ - 为什么当一个字符数组与另一个字符数组比较时,输出是错误的,而当字符数组与字符串比较时,输出是正确的?
- flutter - 检查发布依赖项的平台支持
- python - 找到每个数字恰好只有一次并且能被 11 整除的最大数(在一个范围内)
- reactjs - 在 NextJS 中更新 ApolloClient 缓存时出现问题
- android - 使用远程蓝牙设备启动绑定过程
- css - 如何在 CSS 网格中对齐图像