javascript - ajax post提交后又自动请求了一次get

查看:124
本文介绍了javascript - ajax post提交后又自动请求了一次get的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

html代码

<form method="post" class="form-horizontal">
    <div class="form-group">
        <label class="col-lg-2 control-label">上级权限</label>
        <div class="col-lg-4">
            <select name="pid">
                <option value="0">顶级权限</option>
                {volist name="authRuleRes" id="authRule"}<option value="{$authRule.id}"><?php if($authRule['level']!=0){echo '|';} echo str_repeat('—', $authRule['level']*3)?>{$authRule.title}</option>{/volist}
                                                    
            </select>
        </div>
    </div>

    <div class="form-group">
        <label class="col-lg-2 control-label">权限名称</label>
        <div class="col-lg-8">
            <input type="text" class="form-control" name="title"/>
        </div>
    </div>

    <div class="form-group">
        <label class="col-lg-2 control-label">控制器/方法</label>
        <div class="col-lg-8">
            <input class="form-control" name="name" type="text" />
        </div>
    </div>

    <div class="form-group">
        <div class="col-lg-offset-2 col-lg-8">
            <input class="btn btn-primary" type="submit" value="提交" />
            <input class="btn btn-default" type="reset" value="重置">
        </div>
    </div>
</form>

js代码

$('.form-horizontal').submit(function(event) {
    var data = $(this).serialize();
    $.ajax({
        type:"post",
        url:"/authrule/add",
        async:true,
        data:data,
        success:function(res){
            if(res.code == 1){
                Notify(res.msg, 'top-right', '5000', 'success', 'fa-check', true);
                return false;
            }else{
                Notify(res.msg, 'top-right', '5000', 'danger', 'fa-times', true);
                return false;
            }
        }
    })
    return false;
})

post提交正常,但是提交后自动请求了一个get,请问哪错了吗?

解决方案

$('.form-horizontal') 这个选择器选择了一个很大的范围,事件传输就有可能触发二次, 建议,写精确一点
比如
$('.form-horizontal input[type=submit]')

这篇关于javascript - ajax post提交后又自动请求了一次get的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆