1. 首页 > 热点 >

ajax调用api接口(ajax调用外部接口)

大家好我是小柳,ajax调用api接口,关于ajax调用外部接口很多人还不知道,那么现在让我们一起来看看吧!

ajax调用api接口(ajax调用外部接口)ajax调用api接口(ajax调用外部接口)


ajax调用api接口(ajax调用外部接口)


1、var util = {前言mod:'t'jQuery确实是一个挺好的轻量级的JS框架,能帮助我们快速的开发JS应用,并在一定程度上改变了我们写JaScript代码的习惯。

2、废话少说,直接进入正题,jQuery的ajax方法非常好用,这么好的东西,你想拥有一个属于自己的ajax么?接下来,我们来自己做一个简单的ajax吧。

3、首先需要一个配置文件 var api = {basePath: '',pathList: [{name: 'agentHeartBeat',},path: '/api/csta/agent/state',mod: 't'},{name: 'getAgents',path: '/user/agent/{{query}}',mod: 'get'}]}然后需要一个方法,把配置文件生成接口 function WellApi(Config){var headers = {};Api.pt = Api.prototype;ajax: function(, mod, payload) {return $.ajax({type: mod || "get",data: JSON.stringify(payload),headers: headers,dataType: "json",contentType: 'application/json; charset=UTF-8'}, 主要用于将 /users/{{userId}} 和{userId: '89898'}转换成/users/89898,和mastache语法不多, 当然我们没必要为了这么小的一个功能来引入一个模板库 例如: /users/{{query}}和{query:'?name=jisika&=1'} @DateTime 2017-03-13T19:42:58+0800 @param {[type]} tpl [description] @param {[type]} data [description]render: function(tpl, data){var re = /{{([^}]+)?}}/;var match = '';while(match = re.exec(tpl)){tpl = tpl.replace(match[0],data[match[1]]);}return tpl; [setHeader 暴露设置头部信息的方法] 有些方法需要特定的头部信息,例如登录之后才能获取sesssionId,然后访问所有的接口时,必须携带sessionId 才可以访问 @DateTime 2017-03-13T10:34:03+0800 @param {[type]} headers [description]Api.pt.setHeader = function(headers){}; [fire 发送ajax请求,this会绑定到每个接口上] @DateTime 2017-03-13T19:42:13+0800 @param {[type]} pathParm [description] @paPromise对象公开以下Deferred方法:then,done,fail,always,pipe,progress,state,和 promise。

4、ram {[type]} payload [description]function fire(pathParm, payload){var = util.render(this.path, pathParm);return util.ajax(, this.mod, payload);}/ [for 遍历所有接口] @DateTime 2017-03-13T19:49:33+0800 @param {[type]} var i [description]for(var i=0; i Api.pt[Config.pathList[i].name] = {path: Config.basePath + Config.pathList[i].path,mod: Config.pathList[i].mod,fire: fire};}return new Api();}试用一下 var saas = WellApi(api);saas.agentHeartBeat.fire({agentId: '5001@1011'}).done(function(res){console.log('心跳成功');}).fail(function(res){console.log('心跳失败');优点与扩展 [优点]:类似与promise的回调方式[优点]:增加一个接口只是需要增加一个配置文件,很方便 [扩展]:当前的ajax 的contentType我只写了json,有兴趣可以扩展其他的数据类型总结。

本文到这结束,希望上面文章对大家有所帮助。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 12345678@qq.com 举报,一经查实,本站将立刻删除。

联系我们

工作日:9:30-18:30,节假日休息