5 ответов:
документация здесь:http://docs.jquery.com/Ajax/jQuery.ajax
но, подводя итог, вызов ajax принимает кучу вариантов. те, которые вы ищете, - это ошибка и успех.
вы бы назвали это так:
$.ajax({ url: 'mypage.html', success: function(){ alert('success'); }, error: function(){ alert('failure'); } });Я показал, что функция success и error не принимает аргументов, но они могут получать аргументы.
функция error может принимать три аргумента: XMLHttpRequest, textStatus и ошибка.
функция success может принимать два аргумента: data и textStatus. Запрошенная страница будет находиться в аргументе данных.
Если вам нужна функция отказа, вы не можете использовать $.получить или.$ функции post; вам нужно будет вызвать $.функция AJAX напрямую. Вы передаете объект options, который может иметь обратные вызовы "success" и "error".
вместо этого:
$.post("/post/url.php", parameters, successFunction);вы можете использовать это:
$.ajax({ url: "/post/url.php", type: "POST", data: parameters, success: successFunction, error: errorFunction });есть много других вариантов тоже. документация список всех вариантов, доступных.
используя jQuery 1.8 и выше, следует использовать следующее:
var request = $.ajax({ type: 'POST', url: 'mmm.php', data: { abc: "abcdefghijklmnopqrstuvwxyz" } }) .done(function(data) { alert("success"+data.slice(0, 100)); }) .fail(function() { alert("error"); }) .always(function() { alert("complete"); });проверьте документы, как указано в @hitautodestruct.
мне было интересно, почему они не предоставили в самом jquery, поэтому я сделал несколько изменений в файле jquery,,, вот измененный блок кода:
исходный код блок:
post: function( url, data, callback, type ) { // shift arguments if data argument was omited if ( jQuery.isFunction( data ) ) { type = type || callback; callback = data; data = {}; } return jQuery.ajax({ type: "POST", url: url, data: data, success: callback, dataType: type });изменен блок кода:
post: function (url, data, callback, failcallback, type) { if (type === undefined || type === null) { if (!jQuery.isFunction(failcallback)) { type=failcallback } else if (!jQuery.isFunction(callback)) { type = callback } } if (jQuery.isFunction(data) && jQuery.isFunction(callback)) { failcallback = callback; } // shift arguments if data argument was omited if (jQuery.isFunction(data)) { type = type || callback; callback = data; data = {}; } return jQuery.ajax({ type: "POST", url: url, data: data, success: callback, error:failcallback, dataType: type }); },Это должно помочь тому, кто пытается поймать ошибку на $.Сообщение в jquery.
обновление: Или есть другой способ сделать это :
$.post(url,{},function(res){ //To do write if call is successful }).error(function(p1,p2,p3){ //To do Write if call is failed });
этот стиль также возможен:
$.get("mypage.html") .done(function(result){ alert("done. read "+result.length+" characters."); }) .fail(function(jqXHR, textStatus, errorThrown){ alert("fail. status: "+textStatus); })
Comments