jQuery getScript没有在连接上运行fail方法被拒绝

时间:2016-06-01 22:16:09

标签: 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');
});

我在未被屏蔽时获得done但是在被屏蔽时我没有得到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');
    }
});

1 个答案:

答案 0 :(得分:1)

  

我在文档中遗漏了什么吗?

是。请注意error说明:

  

注意:不会为跨域脚本调用此处理程序   跨域JSONP请求。