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 相关文章推荐
js中的值类型和引用类型小结 文字说明与实例
Dec 12 Javascript
JavaScript中的标签语句用法分析
Feb 10 Javascript
jQuery定义背景动态切换效果的方法
Mar 23 Javascript
JavaScript识别网页关键字并进行描红的方法
Nov 09 Javascript
JS 实现可停顿的垂直滚动实例代码
Nov 23 Javascript
jQuery中DOM节点删除之empty与remove
Jan 20 Javascript
JavaScript纯色二维码变成彩色二维码
Jul 23 Javascript
BootStrap Table复选框默认选中功能的实现代码(从数据库获取到对应的状态进行判断是否为选中状态)
Jul 11 Javascript
微信小程序 rich-text的使用方法
Aug 04 Javascript
Sublime Text新建.vue模板并高亮(图文教程)
Oct 26 Javascript
swiper在vue项目中loop循环轮播失效的解决方法
Sep 15 Javascript
Vue绑定用户接口实现代码示例
Nov 04 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 常用函数库和一些实用小技巧
2009/01/01 PHP
php入门学习知识点三 PHP上传
2011/07/14 PHP
基于PHP 面向对象之成员方法详解
2013/05/04 PHP
PHP大小写问题:函数名和类名不区分,变量名区分
2013/06/17 PHP
php如何连接sql server
2015/10/16 PHP
PHP获取IP地址所在地信息的实例(使用纯真IP数据库qqwry.dat)
2016/11/15 PHP
利用WebBrowser彻底解决Web打印问题(包括后台打印)
2009/06/22 Javascript
原生javascript图片自动或手动切换示例附演示源码
2013/09/04 Javascript
浅析jQuery中调用ajax方法时在不同浏览器中遇到的问题
2014/06/11 Javascript
Javascript实现颜色rgb与16进制转换的方法
2015/04/18 Javascript
常用javascript表单验证汇总
2020/07/20 Javascript
基于socket.io+express实现多房间聊天
2016/03/17 Javascript
Bootstrap安装环境配置教程分享
2016/05/27 Javascript
jQuery图片切换动画特效
2016/11/02 Javascript
JS实现类似51job上的地区选择效果示例
2016/11/17 Javascript
vue-router路由简单案例介绍
2017/02/21 Javascript
JavaScript实现重力下落与弹性效果的方法分析
2017/12/20 Javascript
用Electron写个带界面的nodejs爬虫的实现方法
2019/01/29 NodeJs
vue实现div可拖动位置也可改变盒子大小的原理
2020/09/16 Javascript
Nuxt的路由动画效果案例
2020/11/06 Javascript
Python中optionParser模块的使用方法实例教程
2014/08/29 Python
Python实现抓取网页并且解析的实例
2014/09/20 Python
Python获取运行目录与当前脚本目录的方法
2015/06/01 Python
浅谈python抛出异常、自定义异常, 传递异常
2016/06/20 Python
Python中表示字符串的三种方法
2017/09/06 Python
Python实现读取txt文件并画三维图简单代码示例
2017/12/09 Python
python爬虫爬取淘宝商品信息
2018/02/23 Python
Python实现PyPDF2处理PDF文件的方法示例
2019/09/25 Python
HTML5 body设置自适应全屏
2020/05/07 HTML / CSS
村庄环境整治方案
2014/05/15 职场文书
2014迎接教师节演讲稿
2014/09/10 职场文书
刑事辩护授权委托书
2014/09/13 职场文书
出纳试用期自我评价
2015/03/10 职场文书
2015年人民调解工作总结
2015/05/18 职场文书
让人感觉高大上的讲话稿怎么写?
2019/07/08 职场文书
2019年“红色之旅”心得体会1000字(3篇)
2019/09/27 职场文书