问题描述:
前台页面
<input type="button" class="inputbutton" id="btnlogin" value="登录" />
show.js:
$("#btnlogin").click(function(){
$.ajax( {
url : "LoginAction",
type:"post",
dataType:"json",
data:"username="+userName,
timeout:20000,
success:function(){}
});
});
点击登录按钮时,会重复提交数据。百思不得其解!
原因分析:
看了网友们的分析,有的说是“两次提交的原因是在执行完ajax请求后,并没有阻止submit的行为,解决方式是不使用type为submit类型的按钮,而是使用type是button的按钮”可是我用的就是type=button的按钮啊,故此原因排除。还有网友说这是jQuery的Bug,经测试在我写的程序里的其他页面也用到类似方法,并没有发生这种现象,故此原因也排除。
后来经过一番摸索,终于找到了原因所在:
我是在本页面(login.jsp)include 了(top.jsp),这两个页面中都引入了show.js:
<script type="text/javascript" src="js/show.js"></script>
这也就导致了引入两次show.js文件,所以会发生提交两次的现象。我把top.jsp文件中的
<script type="text/javascript" src="js/show.js"></script>
删除后,再没发生此种现象。至此,完美解决!
这次失误提醒我:以后写代码一定要细心。
分享到:
相关推荐
Jquery跨域访问Web服务的demo源码
主要介绍了为jquery的ajax请求添加超时timeout时间的操作方法,文中通过一段简单的代码给大家介绍jquery ajax超时设置方法,感兴趣的朋友跟随脚本之家小编一起看看吧
一个完整的jquery+ajax传送请求的实例
jQuery-ajax-用户名异步请求,转载请注明出处:https://blog.csdn.net/qq_40374604(如有需要欢迎留言,我一定会尽快解答)
jquery中ajax请求后台数据成功后既不执行success也不执行error,此外系统报错:Uncaught SyntaxError: Unexpected identifier at Object.success,但后台能够返回数据,原代码如下: var source=[]; $.ajax({ ...
主要介绍了jquery跨域请求示例(jquery发送ajax请求),需要的朋友可以参考下
JQuery发送Ajax请求Struts2,并返回JSON的例子。该例子对应 http://blog.csdn.net/littleqiang520中的博文
今天小编就为大家分享一篇jQuery中ajax请求后台返回json数据并渲染HTML的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
// 2 使用$.ajax发送fd // 需要指定两个属性 // - processData : false // - contentType : false $.ajax({ method : 'POST', url : '/ajax_Day5/datas03.php', data : fd, success : function (data) { ...
jquery发送ajax,ajaxFileUpload实现图片上传
Struts2+jQuery ajax的一个商品小系统Struts2+jQuery ajax的一个商品小系统
主要介绍了JQuery发送ajax请求时中文乱码问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
该资源包含了一个使用jquery提交表单的代码,简单易懂,喜欢的下载。
jquery+ajax实现无刷新提交的功能。
jquery ajax实例点击按钮触发Ajax loading jquery ajax实例点击按钮触发Ajax loading jquery ajax实例点击按钮触发Ajax loading
jQuery ajax 异步 请求
比如.ajaxComplete()——请求完成时.ajaxError()——请求失败时.ajaxSend()——在Ajax请求发送时附加一个function去执行.ajaxStart()——请求开始时,.ajaxStop()——请求结束时.ajaxSuccess()——请求成功时.load()...
这是一个java的web样例工程,实现的是jquery+ajax传输
下面给大家带来两种关于jquery 的ajax防止重复提交的解决方法,具体介绍如下所示: 1、第一种,对于onclick事件触发的的ajax 可以采用如下方法: 即在beforeSend中使点击按钮不可用,ajax结果返回后置为可用 $....
jQuery-ajax-json实现自动轮播图.rar