1.场景
微信小程序端,所有的请求数据,都加上token令牌
2.需求
两个json对象,需要将属性进行合并,一个是需要传递的json对象参数,一个是需要被合并的token值
3.解决方法
- 1.百度90% 都是 a = a.concat(b) 使用
concat
函数,但是只支持数组的合并 - 2.自己动手写一个对象合并的函数
4.代码
4.1函数代码
代码放在app.js中
extend:function(data,dataExtend){
var res={};
for (var key in data) {
res[key] = data[key];
}
for (var key in dataExtend) {
res[key] = dataExtend[key];
}
return res;
},
4.2调用代码
封装统一的request请求方法,data = this.extend(data,{ token: this.globalData.token});
将token只封装到请求的参数中
globalData: {
token:null,
},
ajaxSubmit: function (url,data,fn) {
data = this.extend(data,{ token: this.globalData.token});
wx.request({
url: 'http://192.168.152.66:7979/zjiaowechat' + url, //仅为示例,并非真实的接口地址
method: 'post',
data: data,
header: {
'content-type': 'application/x-www-form-urlencoded' // 默认值
},
success: function (res) {
fn(res);
}
})
}
登录方法核心调用代码
var data = {
username: data.username,
password: data.password
}
app.ajaxSubmit('/login/valida', data, fn);
4.3测试
登录
调用ajaxSubmit
token值没有设置所以为默认值null