jQuery: как сделать AJAX-запрос и продолжить, не дожидаясь его завершения? - PullRequest
0 голосов
/ 24 сентября 2010

Я хочу сделать AJAX-запрос "в фоновом режиме" моей функции JavasSript, но мой скрипт ожидает завершения запроса AJAX, прежде чем он продолжит выполнять мой код.что анимация slideDown ожидает выполнения, пока запрос не вернет ответ.Как заставить анимацию выполняться одновременно с запросом ajax?

Ответы [ 3 ]

4 голосов
/ 24 сентября 2010

Ваш код уже должен выполнять запрос Ajax "в фоновом режиме" (асинхронно).Метод jQuery.get() является сокращением для:

$.ajax({
  url: url,
  data: data,
  success: success,
  dataType: dataType
});

А метод jQuery.ajax() по умолчанию async: true.

1 голос
/ 24 сентября 2010

Поместите slideDown() в успешный обратный вызов

$('div').hide();

$.get('/controller/action', { id: 'abc123' },
    function(data){
        alert("Request completed");
        //now update the div with the new data
        $('div').slideDown('slow');
    }
);

Если вы не предоставляете конфигурацию по умолчанию для AJAX с async: false ( doc ).

0 голосов
/ 24 сентября 2010

возможно ли, что div не содержит ничего, пока запрос ajax завершен, и, следовательно, создает иллюзию, что его ждет?

вы пробовали старую добрую отладку alert () после запроса ajax?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...