Используйте успех () или завершенный () в вызове Ajax

Вы можете использовать закрывающий вызов setTimeout () с постепенно увеличивающимися значениями.

var items = ['item1', 'item2', 'item3'];

function functionToExecute(item) {
  console.log('function executed for item: ' + item);
}

$.each(items, function (index, item) {
  var timeoutValue = index * 2000;
  setTimeout(function() {
    console.log('waited ' + timeoutValue + ' milliseconds');
    functionToExecute(item);
  }, timeoutValue);
});

Результат:

waited 0 milliseconds
function executed for item: item1
waited 2000 milliseconds
function executed for item: item2
waited 4000 milliseconds
function executed for item: item3 
40
задан nyedidikeke 14 February 2017 в 14:54
поделиться

2 ответа

complete выполняется после выполнения обратного вызова либо success , либо error .

Возможно, вам следует проверить второй параметр полные предложения тоже. Это строка, содержащая тип успеха, который имел ajaxCall.

Различные обратные вызовы описаны немного подробнее здесь jQuery.ajax (options)


Я думаю, вы упустили тот факт, что завершено и функция success (я знаю несовместимый API) получают разные данные, передаваемые. success получает только данные, complete получает все XMLHttpRequest объект. Конечно, в строке данных нет свойства responseText . аргументы: данные, возвращенные из сервер, отформатированный в соответствии с параметр dataType и строка описание статуса.

завершено

Функция получает два аргументы: объект XMLHttpRequest и строка, описывающая тип успех запроса.

Если вам нужен доступ ко всему объекту XMLHttpRequest в обратном вызове успеха, я предлагаю попробовать это.

var myXHR = $.ajax({
    ...
    success: function(data, status) {
        ...do whatever with myXHR; e.g. myXHR.responseText...
    },
    ...
});
48
ответ дан 27 November 2019 в 01:14
поделиться

"complete" выполняется, когда вызов ajax завершен. "success" выполняется, когда вызов ajax завершается успешным кодом ответа.

12
ответ дан 27 November 2019 в 01:14
поделиться
Другие вопросы по тегам:

Похожие вопросы: