mrsunocean通过本文主要向大家介绍了ajax,apicloud等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
在一个项目中 前端工程师用到最多的可能就是ajax,不管是JQuery的ajax还是apiCloud的ajax我们如果不把他封装一下,都会写很多重复的代码,使得代码很乱,降低可读性。所以,如果我们能把一些在很多地方能用到的方法封装起来,会给我们写代码带来很大的便捷,而且会使得代码很清晰。
公共api.ajax方法封装事例:
var config_method = {
'config_ajax':function(){},
}
/*
全局ajax方法,参数param:
{
'pathName':'selectVideoInfoAll', 路径
'ajaxData':{
'pageNum':1,
'pageSize':5,
}, ajax传入参数
'method':video_Method.video_item 执行方法
}
*/+
config_method.config_ajax = function(param){
console.log("ajax请求");
api.ajax({
url: param.pathName,
method: 'post',
headers:param.header,
dataType:'json', //返回类型
returnAll:true, //是否全部返回(包括请求头)
data:{
body:param.ajaxData //传递参数,body如果传json类型,header中必须加上传参类 型'Content-Type': "application/json"
}
}, function(ret, err) {
console.log("进入ajax");
if (ret) {
console.log('成功:'+JSON.stringify(ret));
if(ret.body.code == '10001'){
api.toast({ //错误提示信息
msg: '您还没有登录', //错误信息
duration: 2000, //显示时间长度
location: 'bottom' //显示位置
});
setTimeout(config_method.openWin(),1000)
return;
}
if(param.method){
console.log("有回调方法");
param.method(ret); //调用方法
return;
}
console.log("无回调方法");
} else {
console.log('失败'+JSON.stringify(err));
api.toast({ //错误提示信息
msg: err.msg, //错误信息
duration: 2000, //显示时间长度
location: 'bottom' //显示位置
});
return;
}
});
}
调用事例:
config_method.config_ajax({
'pathName':httpurl+'selectCosById', //请求路径
'ajaxData':{ //传入参数
"id":"dsfsdfs" // 企业id
},
'method':main_method.navigationBar_setList //调用函数
});
外部调用方法的时候只需要传递对应的对象就可以了
很多其他的方法也可通过这种方式进行封装。

