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获取scrollHeight问题想到的标准问题
May 27 Javascript
javascript复制粘贴与clipboardData的使用
Oct 16 Javascript
javascript常用方法汇总
Dec 02 Javascript
jquery自适应布局的简单实例
May 28 Javascript
基于JS实现类似支付宝支付密码输入框
Sep 02 Javascript
利用Javascript仿Excel的数据透视分析功能
Sep 07 Javascript
JavaScript使用正则表达式获取全部分组内容的方法示例
Jan 17 Javascript
Vue监听数组变化源码解析
Mar 09 Javascript
基于VUE选择上传图片并页面显示(图片可删除)
May 25 Javascript
ztree简介_动力节点Java学院整理
Jul 19 Javascript
JavaScript中字符串的常用操作方法及特殊字符
Mar 18 Javascript
微信小程序自定义tab实现多层tab嵌套功能
Jun 15 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
关于我转生变成史莱姆这档事:第二季PV上线,萌王2021年回归
2020/05/06 日漫
php实现的ping端口函数实例
2014/11/12 PHP
微信公众平台接口开发入门示例
2014/12/24 PHP
PHP底层运行机制与工作原理详解
2020/07/31 PHP
一个对于js this关键字的问题
2007/01/09 Javascript
基于jquery1.4.2的仿flash超炫焦点图播放效果
2010/04/20 Javascript
js创建数据共享接口——简化框架之间相互传值
2011/10/23 Javascript
JQuery入门——事件切换之toggle()方法应用介绍
2013/02/05 Javascript
jquery js 重置表单 reset()具体实现代码
2013/08/05 Javascript
jQuery DOM插入节点操作指南
2015/03/03 Javascript
jquery mobile开发常见问题分析
2016/01/21 Javascript
js实现异步循环实现代码
2016/02/16 Javascript
js 创建对象 经典模式全面了解
2016/08/16 Javascript
javaScript手机号码校验工具类PhoneUtils详解
2017/12/08 Javascript
Javascript的console['']常用输入方法汇总
2018/04/26 Javascript
浅谈Vue 数据响应式原理
2018/05/07 Javascript
vue项目中使用tinymce编辑器的步骤详解
2018/09/11 Javascript
深入探索VueJS Scoped CSS 实现原理
2019/09/23 Javascript
解决ant design vue 表格a-table二次封装,slots渲染的问题
2020/10/28 Javascript
Python 用Redis简单实现分布式爬虫的方法
2017/11/23 Python
windows下Virtualenvwrapper安装教程
2017/12/13 Python
通过Py2exe将自己的python程序打包成.exe/.app的方法
2018/05/26 Python
mac 安装python网络请求包requests方法
2018/06/13 Python
Python函数中参数是传递值还是引用详解
2019/07/02 Python
linux下python中文乱码解决方案详解
2019/08/28 Python
CSS3绘制不规则图形的一些方法示例
2015/11/07 HTML / CSS
详解Canvas 实现炫丽的粒子运动效果(粒子生成文字)
2018/02/01 HTML / CSS
极简的HTML5模版
2015/07/09 HTML / CSS
关于是否需要写商业计划书
2014/02/07 职场文书
感恩老师的演讲稿
2014/05/06 职场文书
国际商贸专业自荐信
2014/06/09 职场文书
列车乘务员工作不细心检讨书
2014/10/07 职场文书
2014年初级职称工作总结
2014/12/08 职场文书
2015小学教师德育工作总结
2015/05/12 职场文书
无罪辩护词范文
2015/05/21 职场文书
Sql Server 行数据的某列值想作为字段列显示的方法
2022/04/20 SQL Server