Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如果找不到文件,如何继续ajax剩余请求?_Javascript_Jquery_Ajax_Http Status Code 404_Status - Fatal编程技术网

Javascript 如果找不到文件,如何继续ajax剩余请求?

Javascript 如果找不到文件,如何继续ajax剩余请求?,javascript,jquery,ajax,http-status-code-404,status,Javascript,Jquery,Ajax,Http Status Code 404,Status,我正在尝试编写一个函数,该函数接受所有由属性数据标记的css/js文件,并在服务器端修改任何脚本时刷新这些文件。我的工作涉及php和jquery/javascript。这一新尝试仅基于javascript/jquery 我的问题是,在将ajax请求链接到这些文件(用于修改日期)时,如果找不到文件,所有ajax请求都会停止。例如,如果我将(现有)style.css重命名为(不存在)style_u2;.css,那么所有链接的ajax请求都会中止,代码也不会继续 var file_url = [url

我正在尝试编写一个函数,该函数接受所有由
属性数据标记的css/js文件,并在服务器端修改任何脚本时刷新这些文件。我的工作涉及php和jquery/javascript。这一新尝试仅基于javascript/jquery

我的问题是,在将ajax请求链接到这些文件(用于修改日期)时,如果找不到文件,所有ajax请求都会停止。例如,如果我将(现有)style.css重命名为(不存在)style_u2;.css,那么所有链接的ajax请求都会中止,代码也不会继续

var file_url = [url1, url1, url3, url4, url5];

function getLatestModificationDate(file_url){
    $.when.apply($, file_url.map(function(url) {
        return $.ajax({ type: 'HEAD', url: url, beforeSend: function(jqXHR, settings) { jqXHR.url = settings.url; } });

    })).done(function() {
        var results = [], lastModified, file_jqXHR; 
        //each argument passed to this callback for ajax, is of this form [data, statusText, jqXHR]
        for (var i = 0; i < arguments.length; i++) {
            var obj= {};
            file_jqXHR = arguments[i][2]; //jqXHR
            lastModified = file_jqXHR.getResponseHeader('Last-Modified');
            obj['file'] = file_jqXHR.url;
            obj['modDate'] = lastModified;

            fileArray.push(obj); 
        }
        mainFunction(fileArray); //the main function, not in scope for this question.
    });
  }

您可以使用Try Catch块:

for (var i = 0; i < arguments.length; i++) {
    try{
            var obj= {};
            file_jqXHR = arguments[i][2]; //jqXHR
            lastModified = file_jqXHR.getResponseHeader('Last-Modified');
            obj['file'] = file_jqXHR.url;
            obj['modDate'] = lastModified;

            fileArray.push(obj); 
    }catch(e){}
}
for(变量i=0;i
不,这不能解决问题。。。我用控制台上的错误图片更新了我的问题…嗨!西亚马克。。我发现使用了一个新的不同的ajax完成。。。你能为我的问题简化一下代码的使用方法吗?谢谢你能找到解决办法吗?我现在也被困在这里了!谢谢
for (var i = 0; i < arguments.length; i++) {
    try{
            var obj= {};
            file_jqXHR = arguments[i][2]; //jqXHR
            lastModified = file_jqXHR.getResponseHeader('Last-Modified');
            obj['file'] = file_jqXHR.url;
            obj['modDate'] = lastModified;

            fileArray.push(obj); 
    }catch(e){}
}