我正在尝试使用 javascript 检查某个 url 是否可访问或无法访问,而不使用 jQuery 或从该 url 加载图像的方法。如果我能获取该 url 的状态代码,那就太好了,因为我只关心状态代码是 200。
我尝试过XMLHttpRequest,但发现它不支持跨域调用。
请帮忙。
谢谢。
最佳答案
如果没有 XMLHttpRequest,则无法在 JavaScript 中直接获取状态代码。正如所指出的,这通常只是同域,但据我所知,有两种可能的跨域方法(不需要代理服务器):
- 某些愿意玩的客户端和服务器可以使用Cross-Origin Resource Sharing和;
- 还有flash-based "XHR" solutions .
另一方面,如果所关心的是认为可以加载的图像(可能根本不是 200!),则可以使用 Image 找到它元素和 onload
事件。如果 onload
事件在一定时间内没有触发,则可以断定请求超时或失败 (4xx/5xx)。但是,如果出现 302 等情况,这将返回误报。
只要确保浏览器确实尝试加载图像:一些更聪明的浏览器不会加载隐藏的图像,至少我听说过。
祝你编码愉快。
关于javascript - 如何使用 Javascript/Ajax 但不使用 jQuery 获取远程 url 的状态代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7493831/