$.ajax()——超时设置,增加 loading 提升体验
发布时间:2020-12-16 03:25:46 所属栏目:百科 来源:网络整理
导读:前端发送Ajax请求到服务器,服务器返回数据这一过程,因原因不同耗时长短也有差别,且这段时间内页面显示空白。如何优化这段时间内的交互体验,以及长时间内服务器仍未返回数据这一问题,是我们开发中不容忽视的重点。 常见的做法是: 1、设置超时时间,一旦
前端发送Ajax请求到服务器,服务器返回数据这一过程,因原因不同耗时长短也有差别,且这段时间内页面显示空白。如何优化这段时间内的交互体验,以及长时间内服务器仍未返回数据这一问题,是我们开发中不容忽视的重点。 常见的做法是: 1、设置超时时间,一旦时间超过设定值,便终止请求; 代码如下: getAjax: function (method,apiUrl,options,callback) {
var xhr = $.ajax({
type: method,url: apiUrl,data: options,timeout: 5000,// 设置超时时间
dataType: "json",beforeSend: function (xhr) {
$.showLoading(); // 数据加载成功之前,使用loading组件
},success: function(json) {
$.hideLoading(); // 成功后,隐藏loading组件
if(callback && callback instanceof Function === "true") {
callback(json);
}
},error: function (textStatus) {
console.error(textStatus);
},complete: function (XMLHttpRequest,status) {
if(status == 'timeout') {
xhr.abort(); // 超时后中断请求
$.alert("网络超时,请刷新",function () {
location.reload();
})
}
}
})
}
转自:http://www.cnblogs.com/fayin/p/6387044.html (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- ajax – 为什么$form_state中的’触发元素’是表单上的最后
- 数据存储管理不求人 Oracle DBA可以很潇洒 -- EMC针对Oracl
- postgresql – Postgres 9.5.0中的ON CONFLICT语法错误
- Cocos2dx3.2编写常用UI组件(一)新手指导框GuideLayer
- (C)如何写入/读取mmap返回的内存地址?
- 一种嵌入式程序的模块设计规范
- 0617 关于 fastjson报ArrayIndexOutOfBoundsExcept:160错误
- 中国IC公司到底缺什么?
- vb中窗体的常用属性及其功能
- SQLite 3.7.13的加密解密(四)―― 挂接加密解密函数