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回调
原创文章,转载请注明出处:jQuery1.4.2 ajax存在一个严重bug问题
其实不是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>
参考文章
加支付宝好友偷能量挖...
原创文章,转载请注明出处:jQuery1.4.2 ajax存在一个严重bug问题