Loading

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。

posted @ 2018-08-27 11:09  Frank-Link  阅读(608)  评论(0编辑  收藏  举报