Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/449.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/86.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 向getScript()添加超时_Javascript_Jquery_Ajax_Timeout_Getscript - Fatal编程技术网

Javascript 向getScript()添加超时

Javascript 向getScript()添加超时,javascript,jquery,ajax,timeout,getscript,Javascript,Jquery,Ajax,Timeout,Getscript,我使用的是getScript()JQuery方法,但实际上可以添加一个超时。有些脚本在6-8秒内不会返回失败状态,这太长了 这可能吗 我搜索了一下,没有找到解决方案 比如: $.getScript(a + "/myspeed/MySpeedServer/mss/js") .done(function() { //do stuff }) .fail(function() { //do stuff

我使用的是
getScript()
JQuery方法,但实际上可以添加一个超时。有些脚本在6-8秒内不会返回失败状态,这太长了

这可能吗

我搜索了一下,没有找到解决方案

比如:

$.getScript(a + "/myspeed/MySpeedServer/mss/js")
        .done(function() {
            //do stuff
        })
         .fail(function() {
            //do stuff
        });
         .timeout(2000)

$.getScript
只是
$.ajax()
的包装器。因此,您可以使用
$.ajax()
超时
选项,如下所示

$.ajax({
    url: url,
    dataType: "script",
    timeout: 2 * 1000
}).done(function() {
    //do stuff
})
.fail(function() {
    //do stuff
});
注意:仅在Firefox3.0+中,脚本和JSONP请求不能通过超时取消;脚本将运行,即使它在超时时间之后到达


您也可以使用
abort()
方法作为。

$。getScript
只是
$.ajax()的包装。因此,您可以使用
$.ajax()
超时
选项,如下所示

$.ajax({
    url: url,
    dataType: "script",
    timeout: 2 * 1000
}).done(function() {
    //do stuff
})
.fail(function() {
    //do stuff
});
注意:仅在Firefox3.0+中,脚本和JSONP请求不能通过超时取消;脚本将运行,即使它在超时时间之后到达


由于
getScript
不接受超时选项,您也可以使用
abort()
方法作为。

。 您可以使用
ajaxSetup
方法设置全局超时

如果全局超时不适用,可以使用

$.get({
  url: a + "/myspeed/MySpeedServer/mss/js",
  timeout: 5000, // 5 seconds
  dataType: "script"
});

因为
getScript
不接受超时选项。 您可以使用
ajaxSetup
方法设置全局超时

如果全局超时不适用,可以使用

$.get({
  url: a + "/myspeed/MySpeedServer/mss/js",
  timeout: 5000, // 5 seconds
  dataType: "script"
});

注意,文档中有关于并非所有浏览器都会遵守脚本的
timeout
的警告注意,文档中有关于并非所有浏览器都会遵守脚本的
timeout
的警告