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 Select操作大集合
May 26 Javascript
jquery 弹出层注册页面等(asp.net后台)
Jun 17 Javascript
JS获取IP、MAC和主机名的五种方法
Nov 14 Javascript
浅析javascript中的DOM
Mar 01 Javascript
jQuery实现跨域iframe接口方法调用
Mar 14 Javascript
轻松学习jQuery插件EasyUI EasyUI创建RSS Feed阅读器
Nov 30 Javascript
Bootstrap轮播插件简单使用方法介绍
Jun 21 Javascript
jQuery实现带右侧索引功能的通讯录示例【附源码下载】
Apr 17 jQuery
详解使用jest对vue项目进行单元测试
Sep 07 Javascript
js通过循环多张图片实现动画效果
Dec 19 Javascript
Vue切换div显示隐藏,多选,单选代码解析
Jul 14 Javascript
Vant+postcss-pxtorem 实现浏览器适配功能
Feb 05 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
FleaPHP的安全设置方法
2008/09/15 PHP
PHP二维数组的去重问题解析
2011/07/17 PHP
php中判断文件存在是用file_exists还是is_file的整理
2012/09/12 PHP
PHP循环遍历数组的3种方法list()、each()和while总结
2014/11/19 PHP
wamp服务器访问php非常缓慢的解决过程
2015/07/01 PHP
Zend Framework入门教程之Zend_Mail用法示例
2016/12/08 PHP
jquery自定义滚动条插件示例分享
2014/02/21 Javascript
JQuery中serialize()、serializeArray()和param()方法示例介绍
2014/07/31 Javascript
jQuery提示效果代码分享
2014/11/20 Javascript
IE下使用jQuery重置iframe地址时内存泄露问题解决办法
2015/02/05 Javascript
详解nodeJS中读写文件方法的区别
2017/03/06 NodeJs
NodeJS实现视频转码的示例代码
2017/11/18 NodeJs
React中常见的动画实现的几种方式
2018/01/10 Javascript
AngularJS自定义过滤器用法经典实例总结
2018/05/17 Javascript
JavaScript中的this妙用实例分析
2020/05/09 Javascript
Python使用Pycrypto库进行RSA加密的方法详解
2016/06/06 Python
python 2.6.6升级到python 2.7.x版本的方法
2016/10/09 Python
Python中的默认参数实例分析
2018/01/29 Python
python TCP Socket的粘包和分包的处理详解
2018/02/09 Python
利用python GDAL库读写geotiff格式的遥感影像方法
2018/11/29 Python
pytorch 自定义数据集加载方法
2019/08/18 Python
python3中替换python2中cmp函数的实现
2019/08/20 Python
Python实现滑动平均(Moving Average)的例子
2019/08/24 Python
Python小白垃圾回收机制入门
2020/06/09 Python
python主要用于哪些方向
2020/07/05 Python
舞会礼服和舞会鞋:PromGirl
2019/04/22 全球购物
施华洛世奇中国官网:SWAROVSKI中国
2020/06/16 全球购物
如何通过jdbc调用存储过程
2012/04/19 面试题
师范教师大学生职业生涯规划范文
2014/01/05 职场文书
档案接收函范文
2014/01/10 职场文书
社区科普工作方案
2014/06/03 职场文书
2014年行政人事工作总结
2014/12/09 职场文书
严以律己学习心得体会
2016/01/13 职场文书
HTTP中的Content-type详解
2022/01/18 HTML / CSS
python装饰器代码解析
2022/03/23 Python
HTML页面点击按钮关闭页面的多种方式
2022/12/24 HTML / CSS