=波波日志 > 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
+展开
-HTML
<%
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


版本为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> 
 
参考文章
类别: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。。

发表留言
  • *昵称:
  • 头像:
  • 电子邮件: [留下您的邮件,方便管理员回复您。]
  • 个人网站: *验证码:
声明:本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载或引用的作品侵犯了您的权利,请通知我们,我们会及时删除!
Powered by showbo,©2012,桂ICP备05005887号 京公网安备1101055090