[]request failed status:0

HttpRequest.send问题
浏览器可以COMPLETE,手机上ERROR:request failed status:0
已邀请:

Aar0n

赞同来自:

1、If the state is UNSENT or OPENED, return 0.(如果状态是UNSENT或者OPENED,返回0)
2、If the error flag is set, return 0.(如果错误标签被设置,返回0)
 
前面提到,服务器在完成请求之后会在 XMLHttpRequest 的 onreadystatechange 属性中查找要调用的方法。这是真的,但还不完整。事实上,每当 HTTP 就绪状态改变时它都会调用该方法。这意味着什么呢?首先必须理解 HTTP 就绪状态。

HTTP 就绪状态表示请求的状态或情形。它用于确定该请求是否已经开始、是否得到了响应或者请求/响应模型是否已经完成。它还可以帮助确定读取服务器提供的响应文本或数据是否安全。在 Ajax 应用程序中需要了解五种就绪状态:

0:请求没有发出(在调用 open() 之前)。 

1:请求已经建立但还没有发出(调用 send() 之前)。 

2:请求已经发出正在处理之中(这里通常可以从响应得到内容头部)。 

3:请求已经处理,响应中通常有部分数据可用,但是服务器还没有完成响应。 

4:响应已完成,可以访问服务器响应并使用它。 

与大多数跨浏览器问题一样,这些就绪状态的使用也不尽一致。您也许期望任务就绪状态从 0 到 1、2、3 再到 4,但实际上很少是这种情况。一些浏览器从不报告 0 或 1 而直接从 2 开始,然后是 3 和 4。其他浏览器则报告所有的状态。还有一些则多次报告就绪状态 1。在上一节中看到,服务器多次调用 updatePage(),每次调用都会弹出警告框 —— 可能和预期的不同!

对于 Ajax 编程,需要直接处理的惟一状态就是就绪状态 4,它表示服务器响应已经完成,可以安全地使用响应数据了。基于此,回调方法中的第一行应该如 清单 13 所示。

清单 13. 检查就绪状态

function updatePage() {
if (request.readyState == 4)
alert("Server is done!");
}
从这里找一找答案吧http://www.cnblogs.com/meil/ar ... .html

要回复问题请先

商务合作
商务合作