AFAIK, нет, вы не сможете этого сделать - .ajaxSetup()
не является защищенным объектом , в отличие от .ajax()
по состоянию на jQuery v1.5 .Таким образом, вы получите сообщение об ошибке, в котором говорится, что у объекта нет методов.
Если вы пытаетесь настроить то, что происходит с каждым .ajax()
вызовом (.ajaxSetup()
устанавливаетпо умолчанию для всех вызовов .ajax()
) .Вы можете получить доступ к глобальным обратным вызовам ajax, таким как:
$.ajaxComplete(function(){alert("complete");})
$.ajaxError(function(){alert("error");})
$.ajaxSuccess(function(){alert("success");})
если вы хотите выполнить действия с ALL ajax-вызовами, если это то, к чему вы стремитесь?У вас также будет доступ ко всем параметрам обратного вызова:
.ajaxError(event, XMLHttpRequest, ajaxOptions, thrownError)
Обновления для последующих комментариев:
Согласно документам для .ajaxSetup () :
Примечание: Глобальные функции обратного вызова должны быть установлены с соответствующими им глобальными методами-обработчиками событий Ajax: .ajaxStart () , .ajaxStop () , .ajaxComplete () , .ajaxError () , .ajaxSuccess() , .ajaxSend () , а не внутри объекта параметров для $. AjaxSetup ()
Так что, похоже, нетглобальный обработчик для statusCode, такой как обратный вызов, добавленный в 1.5.Однако, опять же, согласно документам :
Если запрос выполнен успешно, функции кода состояния принимают те же параметры, что и обратный вызов успеха;если это приводит к ошибке, они принимают те же параметры, что и обратный вызов ошибки.
Поэтому я думаю, вы можете использовать, например:
$('body').ajaxSuccess(function(e, xhr, settings) {
if (xhr.status == "200")
alert("Your call to: '"+settings.url+"' was a success (status code: "+xhr.status+")");
});
$('body').ajaxError(function(e, xhr, settings) {
if (xhr.status == "401")
alert("You are not logged into the remote page!");
if (xhr.status == "404")
alert("The remote page could not be found: '"+settings.url+"'(status code: "+xhr.status+")");
});
Посмотрите надемоверсия здесь показывает успешный и неуспешный вызов .ajax()
- показывает локальные и глобальные действия, включая работу с различными statusCodes.