HenryYong
HenryYong
  • 发布:2015-09-29 09:29
  • 更新:2015-12-10 18:02
  • 阅读:2488

ajax自动执行多次

分类:MUI
var return_data = fn.dataTransfer('/dynamic/list', submit_data, 'get');  
    console.log(return_data.data);
var _data;  
        mui.ajax(target, {   
            data:combine_data,  
            type: type,  
            async: false,   
            success: function(data)  
            {  
                console.log('1'+data.data.msg);   
                _data = data;  
//              return data;   
            }  
        });    
        return _data;

我把ajax提交封装了一下,然后每次进页面会自动执行6、7次,参数什么的一模一样。。求解答!

2015-09-29 09:29 负责人:无 分享
已邀请:
周工

周工

同问

G318

G318

前段时写了一个函数不知道是不是你们想要的,在此分享一下。正在请求中的时候不会再发送请求直到当前请求完成,才会再次执行。唯一的遗憾是get方式请求。

var NETHPPT = false;  
function net_get(url,func,err,type)  
{  
    if(!NETHPPT)  
    {  
        NETHPPT = true;  
        var info = {state:-1,code:-1,data:''};  
        var xhr = new plus.net.XMLHttpRequest();  
        xhr.onreadystatechange = function () {  
            info.state = this.readyState;  
            info.code = this.status;  
            //alert(info.state+','+info.code);  
            if(info.state==4){    
                if(this.status==200){  
                    info.data = this.responseText;  
                    NETHPPT = false;  
                    if(type=='json' || err=='json'){  
                        try{  
                            info.data = eval(info.data);  
                        }catch(e){  
                            info.data = {code:-1,msg:'获取数据失败'}  
                        }     
                    }  
                    if(typeof func=='function')func(info.data);  
                }else{  
                    NETHPPT = false;  
                    msg = '您当前网络或远程服务器存在异常!';  
                    if(this.status==404) msg = '请求的资源文件不存在!';  
                    if(this.status==500) msg = '远程服务器程序出现错误!';  
                    info.data = msg;  
                    if(typeof err=='function'){  
                        err(info);  
                    }else{  
                        plus.nativeUI.alert(info.data,function(){}, "错误", "知道了!" );  
                    }  
                }  
            }  
        }  
        xhr.open('GET',url);  
        xhr.send();  
    }  
}  
周工

周工

很感谢,封装多个API接口调用的时候,我使用的mui.ajax() success时候多次执行了

DCloud_UNI_FXY

DCloud_UNI_FXY

什么意思,是说多个ajax并发时,success会串掉?

该问题目前已经被锁定, 无法添加新回复