Ajax 成功时不重新加载 jsp

Ajax not reloading the jsp on success

环境: IE7, jQuery 1.1, Struts 1

Context:对 Java 方法进行 ajax 调用,最后重新加载相同的 jsp.

步骤是:jspA -->请求java方法-->做一些事情-->ActionForward到jspA,在响应中返回. 实际上,我是通过使用 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, 但它没有帮助。

另一个:How to manage a redirect request after a jQuery Ajax call,这个看起来好多了。我正在尝试一些事情。

因为我在响应中得到了完整的 html(在我的例子中是 'data'),它使用

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

   }
  });
 }

来源Replacing Entire Page Including Head Using Javascript