Ajax не перезагружает JSP в случае успеха - PullRequest
0 голосов
/ 24 января 2019

Среда : IE7, jQuery 1.1, Struts 1

Контекст : Выполнение ajax-вызова метода Java, который в конце перезагружает тот же jsp.

Шаги: jsp A -> запрос к методу java -> делать что-то -> ActionForward к jsp A, который возвращается в ответе.На самом деле я делаю это с помощью одного запроса с использованием location.href, и он работает правильно.

Теперь мне нужно обработать несколько запросов и условий, и единственный способ, которым я думал, это использовать вложенные вызовы ajax с async: false, но не в этом дело.

Проблема в том, что ajax не перезагружает jsp, как location.href .Этот 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>

Тампохожий вопрос: Перезагрузите страницу после вызова jquery ajax , но это не помогло.

Другое: Как управлять запросом на перенаправление после вызова jQuery Ajax это выглядит лучшеЯ пробую кое-что.

1 Ответ

0 голосов
/ 24 января 2019

Когда я получил полный 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

   }
  });
 }

Источник Замена всей страницы, включая заголовок, с использованием Javascript

...