gzlx
gzlx
  • 发布:2016-01-12 00:11
  • 更新:2019-09-21 17:21
  • 阅读:3605

如何封装ajax成为一个js文件有回调函数,方便直接调用

分类:MUI

比如封装成 ajaxservice.js,回调函数为process
<script src="ajaxservice.js"></script>
<script>
//发送请求按钮的点击事件
document.getElementById("confirm").addEventListener('tap', function() {
findUser();
});

        function findUser() {  
            ajaxservice.ajax({  
                method: "post",  
                url: "http://ask.dclound.net.cn",  
                params: {  
                    menuid: "%",  
                    loginname: "%",  
                    datatype: "json"  
                },  
                type: 'json ',  
                callback: process  
            });  
            mui.toast("test star  333");  
        }  

        function process(json) {  
            if (json) {  
                json = JSON.stringify(json);  
                mui.toast("test OK");  
            } else {  
                mui.toast("test 出错");  
            }  
        }  

这个ajaxservice.js应该怎么编写才能成功传入参数,成功运行回调函数?

2016-01-12 00:11 负责人:无 分享
已邀请:
DCloud_UNI_FXY

DCloud_UNI_FXY

如果不用mui,自己随便找个独立的ajax库就行了

lifeng_dev

lifeng_dev

// ajax 封装
function ajaxReq(url, method, data, callback) {
var baseUrl = plus.storage.getItem('baseUrl');
var token = plus.storage.getItem('token');
mui.ajax(baseUrl + url,{
data:data,
headers: {
'Authorization':'Token ' + token,
'Content-Type':'application/json'
},
dataType:'json',//服务器返回json格式数据
type:method,//HTTP请求类型
timeout:10000,//超时时间设置为10秒;
success:callback,
error:function(xhr,type,errorThrown){
console.log(type);
console.log(xhr.status, xhr.response);
console.log(xhr.getResponseHeader("Content-Type"));
}
});
}

// 调用的时候
var data = {
name:name
};
ajaxReq('url', 'post', data, function(data) {
console.log(JSON.stringify(data, null, 2));
});

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