首页 > 代码库 > 解决jquery使用ajax提交button标签时重复提交了。
解决jquery使用ajax提交button标签时重复提交了。
这几天遇到一个jquery的ajax问题。相关代码是
js为
在chrome下只发送一次请求,但是在firefox下竟然发送了两次,一次是ajax一次是正常的post。
最后到网上查了下资料。原来firefox将button标签视为input,上述代码的效果相当于如下:
<form action="xxx" method="post"> <button type="submit" class="tijiao">提交</button> </form>
js为
$(".tijiao").click(function(){ $.post(xxx, $('.alert-form').serialize(), function(result){}) })
在chrome下只发送一次请求,但是在firefox下竟然发送了两次,一次是ajax一次是正常的post。
最后到网上查了下资料。原来firefox将button标签视为input,上述代码的效果相当于如下:
<form action="xxx" method="post"> <input type="submit" class="tijiao" value=http://www.mamicode.com/"提交"/>>
运行的效果就是ajax数据之后,浏览器的submit又post了一次从而阻塞了ajax的请求。导致ajax收不到返回的数据。
解决办法:
将button标签干脆改成input type属性改成button,不能用submit属性。
代码如下<form action="xxx" method="post"> <input type="button" class="tijiao" value=http://www.mamicode.com/"提交"/>>解决jquery使用ajax提交button标签时重复提交了。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。