全局配置所有$.ajax请求以支持超时重试
Globally configure all $.ajax requests to support retry on timeout
我需要一种方法来使用$.ajaxSetup全局设置某种超时功能,这将允许我的Phonegap应用程序在每次由于互联网连接不好而超时时都不断重试ajax GET或POST。
我使用Backbone.js,所以大多数jquery插件都不适用于此,我会帮助编写一段全局代码来处理重试。
谢谢。
您可以使用jQuery.ajaxSetup(选项).
为将来的Ajax请求设置默认值。不建议使用它。
示例
$.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
类似的函数
找到了一个解决方案,使所有AJAX调用都能在重试超时的情况下工作。
$(document).ajaxError(function (e, xhr, options) {
if(xhr.status == 0){
setTimeout(function(){
console.log('timeout, retry');
$.ajax(options);
}, 5000);
}
});
相关文章:
- jQuery-2.1.1.min.js或最新版本jQuery-2.13.min.js不会't支持'@
- jQuery检测浏览器是否支持Zoom
- 错误:对象没有't支持'自动完成'
- EmberJS中支持单字母单词模型
- javascript中的命名空间,IDE中支持代码完成/内容辅助's
- Internet Explorer缺少占位符支持,特别是密码字段
- 为什么我得到错误IE修剪方法是't支持
- 使用优化器在慢速连接上加载main.js时需要js超时
- 任何浏览器都不支持javascript函数
- GTK百老汇支持同时连接
- JQuery示例不起作用-“;对象没有't支持属性或方法'按钮'&”;
- 对象不支持属性或方法“自动完成”
- 对象没有'不支持set_viewXML
- 当浏览器控制台未打开时,为什么要求会导致Internet Explorer 9超时
- 超时功能的性能
- Javascript Q库浏览器支持
- 您的平台不支持RxJS-Array.observe
- React Native当前是否支持访问用户'的通讯簿
- 全局配置所有$.ajax请求以支持超时重试
- 在不支持javascript同步xmlhttprequest时,如何实现超时