javascript - 哪位大哥教一下怎么写提交一次的JS代码
伊谢尔伦
伊谢尔伦 2017-04-11 12:24:19
[JavaScript讨论组]

我代码是放在error里面的,但是写的逻辑半点用都没有,还是提交成功了,还有怎么只能提交一次!!!
球大神教一教!

伊谢尔伦
伊谢尔伦

小伙看你根骨奇佳,潜力无限,来学PHP伐。

全部回复(4)
ringa_lee

。。。你把逻辑判断写$.ajax()前面。

mui.alert()后面写return

大家讲道理

看样子是用的 jQuery,建议你不要用 success: callbackerror: 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();
怪我咯

在全局做一个flag变量

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

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号