一尘不染

如何检查jQuery或纯JavaScript中是否存在文件?

javascript

如何检查服务器上的文件是否存在jQuery或纯JavaScript中?


阅读 495

收藏
2020-04-25

共1个答案

一尘不染

使用jQuery:

$.ajax({
    url:'http://www.example.com/somefile.ext',
    type:'HEAD',
    error: function()
    {
        //file not exists
    },
    success: function()
    {
        //file exists
    }
});

编辑:

这是不使用jQuery即可检查404状态的代码

function UrlExists(url)
{
    var http = new XMLHttpRequest();
    http.open('HEAD', url, false);
    http.send();
    return http.status!=404;
}

进行较小的更改,它可以检查状态HTTP状态代码200(成功)。

编辑2:由于不推荐使用同步XMLHttpRequest,因此您可以添加如下所示的实用程序方法以使其异步:

function executeIfFileExist(src, callback) {
    var xhr = new XMLHttpRequest()
    xhr.onreadystatechange = function() {
        if (this.readyState === this.DONE) {
            callback()
        }
    }
    xhr.open('HEAD', src)
}
2020-04-25