【发布时间】:2012-01-01 00:04:18
【问题描述】:
我正在对我服务器上的一个 php 文件进行 ajax 调用。
该 php 文件从各种网站检索一些信息,因此在最坏的情况下,ajax 调用可能需要 30 秒才能完成。
我要做的就是为 ajax 调用设置一个超时值,并在达到超时时触发一个函数。
我认为 jQuery .complete 是我正在寻找的,因为它在任何情况下都会被调用,但是如何检测它是否在超时时被调用?
【问题讨论】:
我正在对我服务器上的一个 php 文件进行 ajax 调用。
该 php 文件从各种网站检索一些信息,因此在最坏的情况下,ajax 调用可能需要 30 秒才能完成。
我要做的就是为 ajax 调用设置一个超时值,并在达到超时时触发一个函数。
我认为 jQuery .complete 是我正在寻找的,因为它在任何情况下都会被调用,但是如何检测它是否在超时时被调用?
【问题讨论】:
其实你可以用.error代替.complete。
error(jqXHR, textStatus, errorThrown)
textStatus 将是“超时”。
【讨论】:
来自http://api.jquery.com/jQuery.ajax/
完成(jqXHR,文本状态)
请求完成时调用的函数(在执行成功和错误回调之后)。该函数获得两个参数:jqXHR(在 jQuery 1.4.x 中,XMLHTTPRequest)对象和一个对请求状态进行分类的字符串(“成功”、“未修改”、“错误”、“超时”、“中止”或“解析器错误”)。
【讨论】: