Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/411.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/79.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 JS:通过URL';s,并在出现错误时发出警报_Javascript_Jquery_Ajax_Loops - Fatal编程技术网

Javascript JS:通过URL';s,并在出现错误时发出警报

Javascript JS:通过URL';s,并在出现错误时发出警报,javascript,jquery,ajax,loops,Javascript,Jquery,Ajax,Loops,我有一个URL的关联数组,每个URL都有一个我想要迭代的唯一标识符,无论哪个URL抛出401,我都想设置一个特定URL标识符的警报。我被困在警报部分: for (var i=0; i<lyrs.length; i++){ $.ajax({ url: lyrs[i], dataType: 'json', statusCode: { 401: function(){

我有一个URL的关联数组,每个URL都有一个我想要迭代的唯一标识符,无论哪个URL抛出401,我都想设置一个特定URL标识符的警报。我被困在警报部分:

   for (var i=0; i<lyrs.length; i++){
        $.ajax({
            url: lyrs[i],
            dataType: 'json',
            statusCode: {
                401: function(){
                    console.log('there was a 401 error on something');
                }
            }
        });            
    }
对于(var i=0;i使用闭包:

for (var i=0; i<lyrs.length; i++){
        (function() {
             var url=lyrs[i];
             $.ajax({
                 url: url,
                 dataType: 'json',
                 statusCode: {
                     401: function(){
                         console.log('there was a 401 error on '+url);
                     }
                 }
             });
        })();          
    }
for(var i=0;i如中所述,与
401
关联的函数可以采用与
error
回调相同的参数。因此,您可以编写:

. . .
statusCode: {
    401: function(jqXHR, textStatus, errorThrown) {
        // alert with the specific details
    }
}

到底是什么问题?看到ajax调用是异步的,当前面的任何一个调用抛出错误时,您很可能已经转移到下一个索引url。我不能介入这一步,但它不会触发控制台日志…我将更深入地研究Close的感谢感谢感谢,我将更深入地阅读文档并尝试设置此argument@atlMapper如果您想提醒任何错误,您可以考虑使用一般错误回调而不是状态代码特定的回调。如果我正确理解,我可以使用“RealCurrn”。显示从函数收到的特定错误。只是为了确认。由于我正在迭代数组,如果我在401节中创建console.log,每个错误不应该在控制台中显示?@atlMapper-每个生成401错误的url都将生成对回调函数的单独调用。
errorThrown
参数w我将是HTTP响应状态头的文本部分。但是,如果有不同的错误响应(404等),则不会调用此回调。如果在传递给
$.ajax()
的对象中提供了常规
错误:函数…
,则将对任何错误响应调用它。