这一定是一个菜鸟问题,但经过两天的浏览、阅读和调试,我找不到我做错了什么。我需要在 store.load(( 请求中处理请求超时。我已经在代理中定义了例外PHP代码:
exception: function(proxy, response, operation) {
alert('Exception');
}
为了模拟网络故障,我尝试使用断开的链接作为 url 并拔下我的以太网电缆。我得到的是立即抛出异常,而无需等待 30 秒的默认超时(使用 firebug 检查 proxy.timeout,它是 30000(我错过了什么?感谢您的帮助
这里发生的事情是,"超时"并不是代理请求可以生成的唯一异常。在您在此处解释的测试中,您得到的可能异常如下:
-
断开的链接 - 可能是互联网查找地址失败,这几乎立即被 Ajax 请求知道,因此立即出错
-
以太网线已断开连接 - 无法访问互联网错误,您的计算机几乎不间断地通知 Ajax 呼叫它未连接到互联网
由于您的计算机几乎立即知道这些错误,因此无需等待超时期限即可报告异常。
获取超时异常的真正测试是在 php 脚本中放置睡眠或等待(无论在 php 中调用什么函数(的时间都长于您在商店代理中定义的超时阈值。