ajax不执行success回调而是执行了error回调


Posted in Javascript onDecember 10, 2012

附上代码如下:
JScript code:

$.ajax({ 
type: "post", 
url: "jsp/loginManager.jsp", 
data: "name=" + $('#rname').attr('value') + "&pwd=" + $('#pwd').attr('value'), 
dataType: "text", 
success: function(data) { 
alert(data); 
} 
});

点击登陆,成功连接数据库并且查询到了值(在loginManager.jsp页面有用System.out.print()打印过查询到的值)。但success里的东西不执行。用过断点,当执行完dataType后,success直接跳出,里面的alert()不执行,这是为什么呢?
改了下代码,如下:
JScript code:
$.ajax({ 
type: "post", 
url: "jsp/loginManager.jsp", 
async: true, 
data: "name=" + $('#rname').attr('value') + "&pwd=" + $('#pwd').attr('value'), 
dataType: "text", 
success: function(data) { 
alert(data); 
}, 
error: function(e) { 
alert(e); 
} 
});

但是还是一样,没反应,只是把登陆页面刷新了!!!
针对上面只是把登录页面刷新了的问题,是a链接里有点小问题,原来我是a链接里面有href,开始,href=”",所以刷新了页面,刷新页面前进入了action,所以也获得了提交数据,但是还没来得及返回,就刷新了。改成href=”#”就ok了!正如:
<a href='#' onclick= ‘delMenuContent(cellvalue)>
还有一个原因是因为我用的是异步提交,没等验证成功的时候已经执行了按钮的提交事件,所以页面已经刷新,将其改成同步提交,按钮的提交事件必须等ajax验证结束后判断是否进行提交就可以解决这个问题了!

最近在看jQuery的API文档,在使用到jQuery的ajax时,如果指定了dataType为json,老是不执行success回调,而是执行了error回调函数,极度郁闷。后面改为1.2.6版本可以执行。

然后继续下载了几个jquery版本,如1.3.2,1.4.0的,指定dataType为json都不能执行success回调,只有小于1.3版本的才能执行success回调。

最后去jquery的网站找到了在线的api文档看了下,地址:http://api.jquery.com/jQuery.ajax/ ,发现dataType如下的说明

"json": Evaluates the response as JSON and returns a JavaScript object. In jQuery 1.4 the JSON data is parsed in a strict manner; any malformed JSON is rejected and a parse error is thrown. (See json.org for more information on proper JSON formatting.)

原来是jquery1.4版本以后对json格式要求非常严格了,要满足json.org网站定义的格式才能执行success回调,否则都会出错,无法解析返回的json数据。说的是1.4+以上的,那为什么下载的1.3.2指定dataType为json时也不能执行success回调呢?

怪不得不执行,原来我返回的是{success:true,id:1} 这种不规则的字符串,不是严格的json格式,改成{"success":true,"id":"1"} 就可以正常执行success回调了。


JSON格式总结下,详细的去json.org 查看。

1)键名称:用双引号 括起

2)字符串:用使用双引号 括起

3)数字,布尔类型不需要 使用双引号 括起

Javascript 相关文章推荐
javascript游戏开发之《三国志曹操传》零部件开发(三)情景对话中仿打字机输出文字
Jan 23 Javascript
jquery mobile页面跳转后样式丢失js失效的解决方法
Sep 06 Javascript
javascript检测是否联网的实现代码
Sep 28 Javascript
js代码验证手机号码和电话号码是否合法
Jul 30 Javascript
初步了解javascript面向对象
Nov 09 Javascript
JavaScript和HTML DOM的区别与联系及Javascript和DOM的关系
Nov 15 Javascript
JavaScript中获取时间的函数集
Aug 16 Javascript
javascript稀疏数组(sparse array)和密集数组用法分析
Dec 28 Javascript
JavaScript 有用的代码片段和 trick
Feb 22 Javascript
vue 实现v-for循环回来的数据动态绑定id
Nov 07 Javascript
jquery获取input输入框中的值
Nov 13 jQuery
node.js中npm包管理工具用法分析
Feb 14 Javascript
解决js正则匹配换行问题实现代码
Dec 10 #Javascript
解决jquery异步按一定的时间间隔刷新问题
Dec 10 #Javascript
怎样在JavaScript里写一个swing把数据插入数据库
Dec 10 #Javascript
js里怎么取select标签里的值并修改
Dec 10 #Javascript
如何将JS的变量值传递给ASP变量
Dec 10 #Javascript
用jquery实现点击栏目背景色改变
Dec 10 #Javascript
jquery应该如何来设置改变按钮input的onclick事件
Dec 10 #Javascript
You might like
PHP用mysql数据库存储session的代码
2010/03/05 PHP
基于PHP生成静态页的实现方法
2013/05/10 PHP
WordPress中使主题支持小工具以及添加插件启用函数
2015/12/22 PHP
详解PHP用substr函数截取字符串中的某部分
2016/12/03 PHP
IE8 引入跨站数据获取功能说明
2008/07/22 Javascript
Js 获取HTML DOM节点元素的方法小结
2009/04/24 Javascript
js封装的textarea操作方法集合(兼容很好)
2010/11/16 Javascript
jquery 插件学习(二)
2012/08/06 Javascript
js中点击空白区域时文本框与隐藏层的显示与影藏问题
2013/08/26 Javascript
解决用jquery load加载页面到div时,不执行页面js的问题
2014/02/22 Javascript
javascript中的undefined和not defined区别示例介绍
2014/02/26 Javascript
jQuery实现点击该行即可删除HTML表格行
2014/10/17 Javascript
javascript的函数劫持浅析
2016/09/26 Javascript
关于JavaScript中事件绑定的方法总结
2016/10/26 Javascript
JavaScript实现垂直向上无缝滚动特效代码
2016/11/23 Javascript
详解AngularJS通过ocLazyLoad实现动态(懒)加载模块和依赖
2017/03/01 Javascript
js实现数字递增特效【仿支付宝我的财富】
2017/05/05 Javascript
如何通过非数字与字符的方式实现PHP WebShell详解
2017/07/02 Javascript
详解win7 cmd执行vue不是内部命令的解决方法
2017/07/27 Javascript
vue.js vue-router如何实现无效路由(404)的友好提示
2017/12/20 Javascript
web前端vue filter 过滤器
2018/01/12 Javascript
js中let和var定义变量的区别
2018/02/08 Javascript
vue2中使用sass并配置全局的sass样式变量的方法
2018/09/04 Javascript
es6数组includes()用法实例分析
2020/04/18 Javascript
原生JavaScript实现轮播图
2021/01/10 Javascript
vue-video-player 断点续播的实现
2021/02/01 Vue.js
[01:13:18]Secret vs Infamous 2019国际邀请赛淘汰赛 败者组 BO3 第一场 8.23
2019/09/05 DOTA
[48:48]完美世界DOTA2联赛PWL S3 Magama vs GXR 第一场 12.19
2020/12/24 DOTA
python发送arp欺骗攻击代码分析
2014/01/16 Python
利用python程序帮大家清理windows垃圾
2017/01/15 Python
python 类详解及简单实例
2017/03/24 Python
详解python 条件语句和while循环的实例代码
2020/12/28 Python
创先争优活动承诺书
2014/08/30 职场文书
护士个人年度总结范文
2015/02/13 职场文书
关于分班的感言
2015/08/04 职场文书
简单介绍 http请求响应参数、无连接无状态、MIME、状态码、端口、telnet、curl
2021/03/31 HTML / CSS