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

2022-08-30 00:10:28

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


答案 1

使用jQuery:

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

编辑:

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

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

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

编辑2:由于sync XMLHttpRequest已被弃用,您可以添加一个像这样的实用程序方法来异步执行它:

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

答案 2

类似且更新的方法。

$.get(url)
    .done(function() { 
        // exists code 
    }).fail(function() { 
        // not exists code
    })