分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > IT知识

超时重试(一)ajax

发布时间:2023-09-06 01:55责任编辑:蔡小小关键词:暂无标签

我们使用jquery的ajax,超时重试可以采用两种方式,一种是配置ajax的timeout的参数,另一种就是以setTimeout定时器的方式实现:

1)timeout参数配置方式

var xhr = $.ajax({ ???????????type:‘get‘, ???????????url: ‘http://localhost:8080/user‘, ???????????data:{ ???????????????id: 1 ???????????}, ???????????timeout: 5000, ?????????// 设置超时时间5秒 ???????????dataType: "json", ???????????success: function(res) { ???????????????if(res.success) { ???????????????????// 业务处理 ???????????????} ???????????}, ???????????error: function(err) { ???????????????if(err.statusText == ‘timeout‘) { ???????????????????xhr.abort(); ???// 超时中断请求 ???????????????????// 这里可以重新执行请求 ???????????????} ???????????} ???????}) 

2)setTimeout定时器方式

function retryCallback(){ ???var xhr; ???// 设置5秒超时定时器 ???var timer = setTimeout(function(){ ???????// 中断上一个请求 ???????xhr.abort(); ???????// 超时重试 ???????retryCallback(); ???}, 5000) ???xhr = $.ajax({ ???????type:‘get‘, ???????url: ‘http://localhost:8080/user‘, ???????data:{ ???????????id: 1 ???????}, ???????dataType: "json", ???????success: function(res) { ???????????// 未超时则清除定时器 ???????????clearTimeout(timer) ???????} ???}) }retryCallback()

超时重试(一)ajax

原文地址:https://www.cnblogs.com/lay2017/p/9063391.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved