站内API JavaScritp SDK 文档
对于POST跨域的问题,使用iframeAjax进行了处理封装。
该模块依赖于seedit-config屏蔽了不同环境下的url差异。
var API = require('seedit-api');GET请求统一为jsonp请求
POST请求将提交到iframe处理
API主要只有4个请求方法。默认请求的是commonAPI。要请求其他域的请看后面说明。
verb为REST基本的四个方法:
getpostdel(delete为JavaScript关键字,ie下报错,不能使用)put
参数说明
-
API string API名字,参照
CMS后台文档。如bbs/common_member。也可以为完全的API路径。 -
data object API参数,
可选 -
successCallback function 请求成功时的回调,
参数为API返回数据
Object:{error_code:0,data:{}} -
errorCallback function 请求失败的回调,
参数为API返回数据
Object:{error_code:1006,error_message:'出错啦'}
请求的回调还可以写成事件的形式:
success成功error失败
原来代码:
API.verb(API,[data],successCallback,errorCallback)可以写成
API.verb(API,[data]).on('success',successCallback).on('error',errorCallback);注意:交互考虑,必须必须有errorCallback回调
该函数返回上面四个方法,用于定义API scope,即API域 。
后面再调用get等方法时,基地址将由scope决定。
scope可取值有:
-
commoncommon API -
huodong活动 API -
bbsbbs API对于
http://bbs.office.bzdev.net/restful/newyear/post.json这样的接口,可以用var bbsAPI = APICore.scope('bbs'); bbsAPI.get('newyear/post').on('success',function(data){ // });
-
./path相对当前网站路径,当前url为
http://account.seedit.com/时,使用API.scope('./restful'),那么所有API的基地址是http://account.seedit.com/restful -
绝对地址不建议使用,仅用于调试
var huodongAPI = API.scope('huodong');
// 请求试纸数据
huodongAPI.get('shizhi/list',function(data){
// 请求成功啦
});带参数请求:
API.post('bbs/post',datas,function(data){
console.log('success');
},function(data){
console.log('oops!'+data.error_message);
})无参数时:
API.get('bbs/common_member',function(data){
console.log('success');
},function(data){
console.log('oops!'+data.error_message);
});