我希望在一个无法控制的脚本中检测页面是否以HTTP状态码200、404或500等状态码交付。
这不可能实现,对吗?
我希望在一个无法控制的脚本中检测页面是否以HTTP状态码200、404或500等状态码交付。
这不可能实现,对吗?
让页面使用location.href
或document.URL
向自身发出XMLHttpRequest,并检查所获得的HTTP状态。对我而言,这似乎是一种相当便携的方式。尽管为什么要这样做超出了我的理解范畴;)
<base href>
,因此我需要尽早且同步地执行此操作。但如果页面为200,则这可能会变得很烦人并导致速度变慢。 - Jayen页面A可以是一个通过AJAX加载页面B并使用document.write或弹出窗口等方式显示的Javascript。
在这种策略中,您可以在AJAX处理程序中检查成功/失败的返回代码,并根据状态向输出窗口发送不同的内容。
大多数Ajax库都提供了一种检查返回代码的方法...
例如,在Prototype.js中使用Ajax.Request时可以查看"transport.status"。
我最近发现了如何做到这一点(感谢:hunlock)
AJAX.getAllResponseHeaders() -- 返回当前使用的所有标头字符串。 AJAX.getResponseHeader("headerLabel") -- 返回请求标头的值。