Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何通过JavaScript列出404资源错误?_Javascript_Logging_Http Status Code 404_Firebug - Fatal编程技术网

如何通过JavaScript列出404资源错误?

如何通过JavaScript列出404资源错误?,javascript,logging,http-status-code-404,firebug,Javascript,Logging,Http Status Code 404,Firebug,我可能有一些有趣的线索 事实是,我目前在某个网站上,我无法访问“媒体”服务器。因此,在其日志上没有任何线索,也无法获取记录的404错误 在测试时,我确实有时会遇到与某些CSS内容或其他内容相关的404错误。Firebug在显示它们方面做得很好,但我现在想在客户端记录它们 我在JavaScript中尝试了一个巨大的解决方案,通过AJAX返回适当的标题,到目前为止,这排除了CSS样式表的所有背景属性 这些问题仍然存在: 是否有方法捕获Firebug网络输出 或者有没有一种简单的方法可以通过Java

我可能有一些有趣的线索

事实是,我目前在某个网站上,我无法访问“媒体”服务器。因此,在其日志上没有任何线索,也无法获取记录的404错误

在测试时,我确实有时会遇到与某些CSS内容或其他内容相关的404错误。Firebug在显示它们方面做得很好,但我现在想在客户端记录它们

我在JavaScript中尝试了一个巨大的解决方案,通过AJAX返回适当的标题,到目前为止,这排除了CSS样式表的所有背景属性

这些问题仍然存在:

  • 是否有方法捕获Firebug网络输出

  • 或者有没有一种简单的方法可以通过JavaScript或其他创造性的聪明解决方案来实现这一点


如果您向资源发出
XMLHttpRequest
,它应该给您一个响应头<代码>200例如在找到时,但在未找到时为
404

您确实需要了解和测试所有资源

考虑以下代码:

var request = new XMLHttpRequest;
request.onreadystatechange = readyStateXML;
request.open("get", url, true);
request.send(null);

function readyStateXML()
{
    if (this.readyState == 4)
    {
        //404 or 400, not found error
        if (this.status == "400" || this.status == "404")
        {
            console.log("404: The requested page isn't found.");
        }
        else if(this.status == "500")
        {
            console.log("500: Internal server error.");
        }
    }
}
Firebug获取响应,包括响应的HTTP状态代码。 此信息仅对具有特定权限的代码可用,并且不会向页面本身公开。因此,如果要访问页面发出的所有请求的状态代码,则需要为浏览器编写扩展名

对于在JavaScript中执行的AJAX请求,可以通过获取它们的HTTP状态

function makeRequest(url) {
  var req = new XMLHttpRequest();
  req.onreadystatechange = function logStateChange() {
    if (req.readyState === 4) {
      // 'req.status' contains the HTTP status code of the response
      console.log(req.status);
    }
  }

  req.open('GET', url);
  req.send();
}