1 回答

TA貢獻(xiàn)1776條經(jīng)驗(yàn) 獲得超12個(gè)贊
看樣子是用的 jQuery,建議你不要用 success: callback
和 error: callback
,改用 .done(callback)
和 .fail(callback)
(我后面的代碼會(huì)演示)。
然后要解決只提交一次的問題,需要設(shè)置一個(gè)狀態(tài)變量,比如叫 submited
。它所在的作用域只需要在 ajax 調(diào)用所在的作用域就行,甚至可以通過閉包隱藏起來
var doSubmit = (function() {
var submited = false;
return function() {
// 檢查到已經(jīng)提交過了,直接返回不再進(jìn)行提交
if (submited) {
return;
}
submited = true;
$.ajax({
// ....
}).done(function() {
// 提交成功
mui.toast("恭喜提交成功");
}).fail(function(xhr, type, error) {
// 提交失敗恢復(fù) submited 為 false 以便下次提交
mui.toast("提交失敗");
submited = false;
});
};
})();
// 在某種情況下觸發(fā)
doSubmit();
添加回答
舉報(bào)