Internet Explorer отменяет ajax-запросы

#jquery #json #ajax #vue.js

#jquery #json #ajax #vue.js

Вопрос:

Я делаю запрос к серверу через Ajax -Jquery, этот запрос возвращает более 2000 записей (около 16 000 записей)

В Google Chrome выполнен вызов, хотя это заняло около 40 секунд, но в Internet Explorer 11 выполнение отменено, и в консоли не отображается ошибка, он просто никогда не выполняет вызов.

Чтобы сократить время выполнения, я пытаюсь вызвать 1500 записей, в Google Chrome это работает отлично, но в Internet Explorer выполняется только первый вызов:

 mostrar: function() {
  this.loader = true;

  $.ajax({
    contentType: 'application/json;',
    dataType: 'json',
    type: 'POST',
    url: ('Ajax.asp?rad='   this.radio1   'amp;offsetq='   this.limit),
    data: 1,
    success: function(e) {

      if (app.radio1 == "0")
        app.programas = e.programas;

      if (e.continuar == "1" amp;amp; app.radio1 == "1") {
        app.limit = e.conteo;
        console.log(app.limit);

        console.log("va a continuar");
        //  app.programas = (e.programas);    

        app.mostrar();
      }

      app.loader = false;
    },
    failure: function(e) {
      console.log(e);
      app.loader = false;
    }
  });
}
  

Я использую vue.js , но я выполняю вызовы с помощью Jquery, потому что axios представляет несовместимость с internet Explorer 11, в настоящее время этот код работает в chrome, edge, mozilla Firefox.

В Chrome он выполняет вызовы правильно, а в Internet Explorer он выполняет только вызов:https://i.imgur.com/C5wjbBc.png (chrome) https://i.imgur.com/Jk4F7Tj.png (Internet Explorer)

Комментарии:

1. Запрос отменяется немедленно или через какой-то период?

2. При первом запуске, однако в последующие разы этого не происходит, это происходит только в Internet Explorer.

3. Значит, работает только первый вызов? Похоже, проблема с кэшированием — попробуйте с headers: { Pragma: "no-cache", "Cache-Control": "no-cache" }

4. Я обновил публикацию двумя изображениями, на которых видно, что в chrome он выполняет вызовы правильно, а в internet Explorer выполняет только cal: i.imgur.com/C5wjbBc.png (chrome) i.imgur.com/Jk4F7Tj.png (Internet Explorer)

5. Кажется, что изображение chrome описывается как IE и наоборот. Вы пробовали устанавливать заголовки запросов, как рекомендовано?

Ответ №1:

Возможно, исправьте contentType и data исправит вашу проблему. Попробуйте выполнить $.ajax с этими параметрами:

 $.ajax({
  contentType: 'application/json',
  dataType: 'json',
  type: 'POST',
  url: ('Ajax.asp?rad='   this.radio1   'amp;offsetq='   this.limit),
  data: {},
  ...
});
  

К вашему СВЕДЕНИЮ: если вам не нужно отправлять какие-либо данные на сервер, возможно, лучше использовать GET вместо POST