使用javascript检查http状态码

IT技术 javascript
2021-01-17 13:01:50

我只想为拥有图片集的用户显示来自gravatar 的个人资料图片。做这个服务器端意味着向 gravatar 发送大约 100 个 HEAD 请求,以检查 404 代码并img为每个请求适当地输出标签。

所以,我想实现一个 javascript 函数,我可以只输出 100 个 url,javascript 可以检查 http 状态代码并动态输出适当的图像标签。这甚至可能吗?如何?

1个回答

您缺少的关键字是“状态代码”(这就是我们统称的所有 HTTP 响应代码 200、404、500 等)。我将假设您使用的是 jQuery,在这种情况下,执行 AJAX 所需的所有文档都位于http://api.jquery.com/jQuery.ajax/

这是显示警报的请求的简单示例,但前提是返回 404 状态代码(几乎逐字解除了上面的链接):

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script>
   $(function() {
      var url = "some_url";
      $.ajax(url,
      {
         statusCode: {
         404: function() {
            alert('page not found');
         }
      }
   });   
});
</script>
@Marc 是的,有办法。HTTP 允许发送“HEAD”而不是“GET”,并且只返回标头(包括状态代码)。我不确定是否可以使用 Javascript AJAX 库生成它。我从来没有做过:)
2021-03-23 13:01:50
这段代码实际上不是在给定的 URL 下载页面吗?有没有办法只检查响应状态,而不实际下载内容?
2021-04-05 13:01:50
@elGEoRgETheKiLLa 有什么办法可以克服吗?我打算制作一个 javascript 片段来打开基于带有数字的基本 url 的顺序图像,并双向进行。如果基本 url 是 xxx10.jpg,我想测试 xxx09.jpg 和 xxx9.jpg 以知道正确的一个并加载其余的(01、02、03...或 1、2、3。 ..) 正确。
2021-04-10 13:01:50
如果图像在您的域之外,您将看到:请求的资源上不存在“Access-Control-Allow-Origin”标头。
2021-04-12 13:01:50