1 回答
TA贡献1776条经验 获得超12个赞
看样子是用的 jQuery,建议你不要用 success: callback 和 error: callback,改用 .done(callback) 和 .fail(callback)(我后面的代码会演示)。
然后要解决只提交一次的问题,需要设置一个状态变量,比如叫 submited。它所在的作用域只需要在 ajax 调用所在的作用域就行,甚至可以通过闭包隐藏起来
var doSubmit = (function() {
var submited = false;
return function() {
// 检查到已经提交过了,直接返回不再进行提交
if (submited) {
return;
}
submited = true;
$.ajax({
// ....
}).done(function() {
// 提交成功
mui.toast("恭喜提交成功");
}).fail(function(xhr, type, error) {
// 提交失败恢复 submited 为 false 以便下次提交
mui.toast("提交失败");
submited = false;
});
};
})();
// 在某种情况下触发
doSubmit();
添加回答
举报
