jQuery getScript在连接被拒绝时未运行fail方法
我试图解释一个没有加载的脚本,因为它可能被中国的防火墙阻止。因此,我编辑了我的主机文件,将google.com和www.google.com定向到127.0.0.1 当我运行以下命令时jQuery getScript在连接被拒绝时未运行fail方法,jquery,Jquery,我试图解释一个没有加载的脚本,因为它可能被中国的防火墙阻止。因此,我编辑了我的主机文件,将google.com和www.google.com定向到127.0.0.1 当我运行以下命令时 $.getScript('https://www.google.com/recaptcha/api.js').done(function(){ console.log('done'); }).fail(function(){ console.log('fail'); }); 未被阻止时,我得到完
$.getScript('https://www.google.com/recaptcha/api.js').done(function(){
console.log('done');
}).fail(function(){
console.log('fail');
});
未被阻止时,我得到完成
,但被阻止时,我没有得到失败
。但是,我确实看到在尝试加载脚本时,控制台中的连接被拒绝
我在文档中遗漏了什么吗?如果脚本加载失败,如何测试或运行回退。为什么失败没有发射?我试过各种方法让它工作,但都没办法
我试着写得很长,但也没用
$.ajax({
url: "https://www.google.com/recaptcha/api.js",
dataType: 'script',
error: function(){
console.log('test');
},
cache: false,
complete: function(){
console.log('complete');
},
success: function(){
console.log('success');
}
});
我在文档中遗漏了什么吗
对。请注意错误说明:
注意:对于跨域脚本和
跨域JSONP请求
我愿意用另一种方式测试连接,但这似乎是最直接的,或者我是这么认为的。当我将数据类型更改为HTML时,它似乎正确地处理了错误,但我得到跨域错误的原因很明显。然而,出于测试目的,它似乎起了作用。那么,为什么当它的脚本发生故障时,不触发
,我如何在正常情况下加载这个异常的脚本,但如果它实际上根本无法加载,我就失败了呢?我使用了超时方法。我逐字逐句地读了几遍这些文件,出于某种原因,当我逐字逐句地读它的时候,就好像它对我来说没有意义一样。