=波波日志 > JavaScript/Ajax > jQuery1.4.2 ajax存在一个严重bug问题=
jQuery1.4.2 ajax存在一个严重bug问题
最新的jQuery1.4.2版本在使用ajax时存在一个严重的bug问题,如果指定dataType为json,竟然死活不进入success回调函数,而其他版本,如1.2.6是正常的,郁闷~
其实不是bug,下载的API文档没有详细说明,导致以为是bug,说明参考最下面的文章。
示例代码如下
ajax请求的页面,test.asp
最新的jQuery1.4.2,返回类型为json时,不进入success函数
版本为1.2.6,正常返回,能执行success回调,而不是执行error回调
其实不是bug,下载的API文档没有详细说明,导致以为是bug,说明参考最下面的文章。
示例代码如下
ajax请求的页面,test.asp
+展开
-HTML
<%
response.write?"{success:false,id:'"&request("id")&"'}"
%>
response.write?"{success:false,id:'"&request("id")&"'}"
%>
最新的jQuery1.4.2,返回类型为json时,不进入success函数
+展开
-HTML
<script type="text/javascript" src="jquery-1.4.2.min.js">script>
<script type="text/javascript">
$.ajax({
url: 'test.asp',
type: 'GET',
dataType:'json',//指定为json,死活不进入success函数,而是执行了error回调,但是xhr的状态确实200没有发生错误
data:{id:1},
success:function(v){alert(v)},
success:function(){alert('发生错误')},
complete: function(r) {
if(r.status == 200)alert('有效');
else alert('无效');
}
});
script>
<script type="text/javascript">
$.ajax({
url: 'test.asp',
type: 'GET',
dataType:'json',//指定为json,死活不进入success函数,而是执行了error回调,但是xhr的状态确实200没有发生错误
data:{id:1},
success:function(v){alert(v)},
success:function(){alert('发生错误')},
complete: function(r) {
if(r.status == 200)alert('有效');
else alert('无效');
}
});
script>
版本为1.2.6,正常返回,能执行success回调,而不是执行error回调
+展开
-HTML
<script type="text/javascript" src="jquery-1.4.2.min.js">script>
<script type="text/javascript">
$.ajax({
url: 'test.asp',
type: 'GET',
dataType:'json',//指定为json
data:{id:1},
success:function(v){alert(v)},
success:function(){alert('发生错误')},
complete: function(r) {
if(r.status == 200)alert('有效');
else alert('无效');
}
});
script>
<script type="text/javascript">
$.ajax({
url: 'test.asp',
type: 'GET',
dataType:'json',//指定为json
data:{id:1},
success:function(v){alert(v)},
success:function(){alert('发生错误')},
complete: function(r) {
if(r.status == 200)alert('有效');
else alert('无效');
}
});
script>
参考文章
类别:JavaScript/Ajax 作者:波波 日期:2010-07-21 【评论:1】
相关文章
- johnny
日期:2010-9-20 10:38:21 IP:113.103.*.*
这个不是BUG,是规范了JSON格式
<%
response.write "{""success"":""false"",""id"":'"&request("id")&"'}"
%>
这样就行了
管理员回复(2010-9-20 12:44:24)
是的,JQ1.4以上对返回的json结构进行了规范,还以为是jq的bug。。
发表留言
热门博文
- AJAX跨域问题解决办法
- ajax问题总结
- jQuery dataType指定为json的问题
- ajax+asp.net+mssql无刷新聊天室
- ajax无刷新上传文件,使用iframe模仿
- ajax对象abort方法
最新博文
- jquery+flash显示图片实时加载进度插件
- jquery浮动层拖动插件
- firefox NPMethod called on non-NPObject wrapped JSObject!错误
- IE浏览器setCapture和releaseCapture介绍
- 51.la统计出问题了
- 隐藏删除ckeditor状态栏
随机博文
- Iframe高度根据加载的页面内容自动变化
- 模态窗口传值
- Firefox下javascript如何操作剪贴板Clipboard
- 当iframe的designMode="On"时,在ff,如何下对iframe添加事件处理函数
- JavaScript 图片预览效果
- JavaScript类和继承:constructor属性
广告商赞助

