ajax请求,函数外无法获取请求的数据问题解决

时间:2023-03-10 02:59:52
ajax请求,函数外无法获取请求的数据问题解决

一、开发中遇到需要通过ajax请求获取其他函数能否执行的状态,但是当赋值给statusFlag时发现无法赋值:ajax请求默认为异步的方式,该请求的操作被放置在任务队列中,并不会按顺序执行,所以被赋值的参数并没有取到后台传回的状态,因此只需要把该操作改为同步即可:

//异步请求获取下载的状态
function getDownloadStatus(deviceMacType){
let btnStatusMacs = false;
$.ajax({
type: 'GET',
url: 'xxxxx',
async: false,//默认是true,也就是异步请求
success: function(data){
let len = data.list.length;
if(len > 0){
for(var i=0; i<len; i++){
if(data.list[i] === deviceMacType){
btnStatusMacs = true;
}
}
}
}
});
return btnStatusMacs;
}

而后直接在别的函数中调用并判断即可;

二、在使用table进行前端分页操作时:

  1.AJAX异步请求tabledata,在success函数中将请求的data保存在cookie或者localStorage中,首次渲染表格,仅需在success回调中截取固定长度的数据即可,此后的翻页与当修改前页面显示的数据量,数据源都是来自cookie或localStorage。