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

推荐答案

使用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:由于sync XMLHttpRequest已被弃用,您可以添加这样的实用程序方法来异步执行:

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

Javascript相关问答推荐

Promise.all立即跳到那时,而不是调用所有Promise

导入图像与内联包含它们NextJS

react 路由加载程序行为

具有相同参数的JS类

使用JavaScript在ionic Web应用程序中更新.pane和.view的背景 colored颜色

基于变量切换隐藏文本

网页自检测外部元素无法加载

扫描qr code后出错whatter—web.js

浮动Div的淡出模糊效果

react—router v6:路由没有路径

使用useEffect,axios和useParams进行react测试

配置WebAssembly/Emscripten本地生成问题

如何让npx在windows中运行js脚本?

如何在输入元素中附加一个属性为checkbox?

Websocket错误—有一个或多个保留位开启:reserved1 = 1,reserved2 = 0,reserved3 = 0

无法使用单击按钮时的useState将数据从一个页面传递到另一个页面

WP Bootstrap NavWaker:下拉菜单一次打开所有下拉菜单

如何在Svelte中从一个codec函数中调用error()?

Google脚本数组映射函数横向输出

如何根据输入数量正确显示alert ?