扫码关注官方订阅号
我代码是放在error里面的,但是写的逻辑半点用都没有,还是提交成功了,还有怎么只能提交一次!!!球大神教一教!
小伙看你根骨奇佳,潜力无限,来学PHP伐。
。。。你把逻辑判断写$.ajax()前面。
mui.alert()后面写return
看样子是用的 jQuery,建议你不要用 success: callback 和 error: callback,改用 .done(callback) 和 .fail(callback)(我后面的代码会演示)。
success: callback
error: callback
.done(callback)
.fail(callback)
然后要解决只提交一次的问题,需要设置一个状态变量,比如叫 submited。它所在的作用域只需要在 ajax 调用所在的作用域就行,甚至可以通过闭包隐藏起来
submited
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();
var flag=false; if(flag==false){ ajax.... success:function(data){ if(data.code==1003){ flag=true; } } }else{ alert("您已提交成功") }
在发起ajax请求前声明一个状态变量作为判断的依据,初始值为true,当ajax请求成功后将变量置为false。检验代码应该写在ajax请求外面,当不满足条件时return false
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
。。。你把逻辑判断写$.ajax()前面。
mui.alert()后面写return
看样子是用的 jQuery,建议你不要用
success: callback和error: callback,改用.done(callback)和.fail(callback)(我后面的代码会演示)。然后要解决只提交一次的问题,需要设置一个状态变量,比如叫
submited。它所在的作用域只需要在 ajax 调用所在的作用域就行,甚至可以通过闭包隐藏起来在全局做一个flag变量
在发起ajax请求前声明一个状态变量作为判断的依据,初始值为true,当ajax请求成功后将变量置为false。检验代码应该写在ajax请求外面,当不满足条件时return false