javascript - 如何使用 Javascript/Ajax 但不使用 jQuery 获取远程 url 的状态代码?

标签 javascript html ajax

我正在尝试使用 javascript 检查某个 url 是否可访问或无法访问,而不使用 jQuery 或从该 url 加载图像的方法。如果我能获取该 url 的状态代码,那就太好了,因为我只关心状态代码是 200。

我尝试过XMLHttpRequest,但发现它不支持跨域调用。

请帮忙。

谢谢。

最佳答案

如果没有 XMLHttpRequest,则无法在 JavaScript 中直接获取状态代码。正如所指出的,这通常只是同域,但据我所知,有两种可能的跨域方法(不需要代理服务器):

  1. 某些愿意玩的客户端和服务器可以使用Cross-Origin Resource Sharing和;
  2. 还有flash-based "XHR" solutions .

另一方面,如果所关心的是认为可以加载的图像(可能根本不是 200!),则可以使用 Image 找到它元素和 onload 事件。如果 onload 事件在一定时间内没有触发,则可以断定请求超时或失败 (4xx/5xx)。但是,如果出现 302 等情况,这将返回误报。

只要确保浏览器确实尝试加载图像:一些更聪明的浏览器不会加载隐藏的图像,至少我听说过。

祝你编码愉快。

关于javascript - 如何使用 Javascript/Ajax 但不使用 jQuery 获取远程 url 的状态代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7493831/

相关文章:

javascript - Mac 中 Ctrl + 鼠标左键单击(多选)

javascript - 如何在 Internet Explorer 中触发 script.onerror?

javascript - 将 jQuery 单击事件绑定(bind)到表格每一行上的每个 anchor 标记的最佳做法是什么

html - tumblr 主题上的 block 引用边框

javascript - AJAX 上传显示多个文件上传中唯一文件的进度

javascript - 返回 json 对象

html - 在图像上放置按钮 Bootstrap CSS

javascript - 如何使用 jQuery 在悬停时将 div 的图像源与另一个图像交换

javascript - 有什么理由不动态加载网站内容

javascript - AngularJS的http服务总是返回错误