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 //调用函数 });
外部调用方法的时候只需要传递对应的对象就可以了
很多其他的方法也可通过这种方式进行封装。