使用XMLHttpRequest抑制控制台错误

Har*_*old 8 javascript ajax xmlhttprequest http-status-code-404

我正在尝试在Javascript中编写一个"fileExists"函数,它只是向服务器发送请求,如果发回404状态则返回false.

该功能完美无缺,但我似乎无法抑制我在谷歌Chrome控制台中收到的错误信息:GET /something/foobar 404 (Not Found).

有没有人知道解决这个问题的方法?

作为参考,这是我正在使用的代码:

    var fileExists = function(url) {
        var req = new XMLHttpRequest();
        req.open('GET', url, false);
        req.send();
        return req.status === 200;
    };
Run Code Online (Sandbox Code Playgroud)

提前致谢!

Ber*_*rgi 5

我认为没有办法阻止控制台声明加载资源失败.实际上并没有错.

但是,您最好使用HEAD请求,而不是使用GET真正加载ressource.尝试

function fileExists(url) {
    var req = new XMLHttpRequest();
    req.open('HEAD', url, false);
    req.send();
    return req.status !== 404;
}
Run Code Online (Sandbox Code Playgroud)

如果您确实要避免404状态,请在服务器上安装一个服务,以便查询文件/路径是否可用.它始终返回具有200 OK状态的XML/JSON /文本响应,无论其是否包含truefalse.

  • 谢谢,我就害怕这个。但是,我已经尝试了所有方法(甚至 PUT 和 DELETE :p),但都给出了相同的结果 :( (2认同)
  • 实际上这个解决方案不起作用。实际上,控制台上的错误在这种情况下似乎更糟。 (2认同)