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

新手上路,请多包涵

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

原文由 usertest 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1k
2 个回答

使用 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:由于不推荐使用同步 XMLHttpRequest,因此您可以添加这样的实用程序方法来异步执行:

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

原文由 cichy 发布,翻译遵循 CC BY-SA 4.0 许可协议

一种类似且更新的方法。

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

原文由 Matthew James Davis 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题