Как работать с данными ответов в событии ajaxComplete - PullRequest
3 голосов
/ 30 июня 2010

Скажите, у меня есть этот код:

function onComplete(event, request, settings)
{
    // How do I get the data? In the correct format?
}

$('body').ajaxComplete(onComplete);

В обычных обработчиках успеха ajax я могу просто получить доступ к данным напрямую, так как это будет первый параметр обработчика. Он также будет в правильном формате (если тип содержимого был установлен прямо на сервере).

Как мне обращаться с данными о событии ajaxComplete?

Ответы [ 3 ]

5 голосов
/ 30 июня 2010

Вы можете использовать это так, но это не задокументировано:

function onComplete(event, request, settings) {
  var data = $.httpData(request, settings.dataType, settings);
}

Функция jQuery.httpData - это то, что используется для получения dataдля обработчика success, но вы можете использовать его напрямую.Имейте в виду, что это недокументированное и поэтому может быть изменено без предварительного уведомления в новых выпусках.Например, в jQuery 1.4.3 вместо него будет jQuery.ajax.httpData.

0 голосов
/ 30 июня 2010

Это может быть неправильный обработчик для использования, если вы хотите получить данные, так как это действительно предназначено скорее как базовый обратный вызов уведомления (для всех перехваченных элементов), когда завершаются любые вызовы AJAX.

Чтобы добраться доВаши данные вам могут понадобиться для более целенаправленного подхода и использования вызова $ .ajax () или одного из его вариантов, таких как $ .get () или $ .getJSON ().Смотри здесь

0 голосов
/ 30 июня 2010

Согласно документу:

http://api.jquery.com/ajaxComplete/

Я не думаю, что вы хотите манипулировать данными, потому что они не передают данные обработчику.Если вам нужны данные, лучше использовать свойство set success в обычном Ajax.

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