我需要一种方法来使用 $.ajaxSetup 全局设置某种超时功能,这将允许我的 Phonegap 应用程序在每次因互联网连接不良而超时时继续重试 ajax GET 或 POST。
我使用 Backbone.js,所以大多数 jquery 插件对此不起作用,我会帮助编写一段处理重试的全局代码。
谢谢。
最佳答案
您可以使用 jQuery.ajaxSetup(options) .
Set default values for future Ajax requests. Its use is not recommended.
示例
$.ajaxSetup({
timeout: TimeoutValue
});
除此之外,如果您想在超时时再次执行调用,我建议您为 ajax 调用创建包装器。
function myAjax(options){
var myOptions = {
timeout: TimeoutValue,
error: function( jqXHR, textStatus, errorThrown) {
//textStatus can one of these "timeout", "error", "abort", and "parsererror"
if(textStatus === "timeout") {
//Recall method once again
myAjax(options)
}
}
};
options = $.extend(true, myOptions , options);
$.ajax(options)
}
并且像$.ajax
一样使用这个函数
关于javascript - 全局配置所有 $.ajax 请求以支持超时重试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25524019/