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

如何封装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));
});

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