一種你兩個選擇:
呼叫成功或失敗,同樣的功能。函數不具有具有爲匿名並且內聯定義,您可以分別使用名稱定義它們並相應地引用它們。
在你的代碼片段,您同時使用舊success
(雖然在最後一個額外的s
)和error
和較新done
,這意味着你要定義成功(success
和done
兩個不同的回調)。只有一個就足夠了。
下面是使用success
和error
一個例子,傳遞null
入處理程序上error
:
var ajax = undefined;
$.ajax({
type: 'put',
url: url,
data: data,
cache: false,
success: handler,
error: function() {
handler(null);
}
});
function handler() {
alert("Done");
}
或者用done
和fail
:
var ajax = undefined;
$.ajax({
type: 'put',
url: url,
data: data,
cache: false
}).done(handler).fail(function() {
handler(null);
});
function handler() {
alert("Done");
}
可替換地(或組合),還有的complete
回調(您在選項中指定的回調)和always
回調(在done
和fail
風格),這是所謂的不管成功還是失敗(成功或失敗回調完成後):
complete
:
var ajax = undefined;
$.ajax({
type: 'put',
url: url,
data: data,
cache: false,
success: handler,
error: function() {
handler(null);
},
complete: function() {
alert("Always called (after success/error)");
}
});
function handler() {
alert("Done");
}
always
:
var ajax = undefined;
$.ajax({
type: 'put',
url: url,
data: data,
cache: false
}).done(handler).fail(function() {
handler(null);
}).always(function() {
alert("Always called (after done/fail)");
});
function handler() {
alert("Done");
}
你可以嘗試使用'.complete'回調將執行AJAX請求是否失敗或成功。 – dakait 2013-02-26 09:14:15
無論如何,你拼寫成功錯了。非常精彩。 – 2014-04-06 09:00:14
我拼寫成功的地方在哪裏? – Stefan 2014-04-06 13:47:17