javascript - ajax post提交后又自动请求了一次get
本文介绍了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屋!
查看全文