ajax的错误处理程序,jQuery $ .ajax,错误处理程序不起作用

您好,我注意到,这个简单的代码无法正常工作……

function test() {

$.ajax( {

'url' : 'test/GameConfiguration.json',

'dataType' : 'json',

data : {

a : 'aaa'

},

cache : false,

method : 'get',

timeout : 10000, //10 secs of timeout

success : function(data, textStatus, XMLHttpRequest) {

console.log("success");

if (data == null)

console.log("it's not a real success");

},

error : function(XMLHttpRequest, textStatus, errorThrown) {

console.log("error: " + textStatus);

}

});

}

该测试已在localhost上运行,我的意思是:我加载页面,关闭本地Web服务器,然后触发请求(通过一个简单的按钮,其中onclick指向此功能)。错误永远不会被调用,我得到的是调用成功处理程序,它具有textStatus

=“ success”和data = null。我什至注意到请求在10秒之前就超时了。在Firefox(最新版本),Chrome(最新版本)和Safari

5上会发生这种情况。为什么呢?是由于我在本地主机上工作吗?

我忘了告诉:请求没有被缓存。实际上,firebug和Chrome开发人员工具都显示请求失败。

大更新

此行为与本地主机的使用有关。实际上,如果我从另一台同事PC加载此页面,并且在触发请求之前我已断开PC与网络的连接,则可以正确获取以超时为状态​​触发的错误处理程序。我认为这是jQuery的错误。这将使我很难测试超时错误:(

jQuery论坛的家伙说这是由于网络堆栈中止连接的方式(假设主机是localhost)。我仅在Windows

7上测试过。如果您想在其他系统上进行测试,并且可以解决一些jQuery内部问题,请在jQuery论坛上向此职位举报:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值