request模块post提交数组的问题
业务上接入了融云的IM服务,服务器需要做一些请求的转发工作 其中有一个tags参数需要传入一个string数组
POST /user/tag/set.json HTTP/1.1
Host: api.cn.ronghub.com
App-Key: uwd1c0sxdlx2
Nonce: 14314
Timestamp: 1408706337
Signature: 890b422b75c1c5cb706e4f7921df1d94e69c17f4
Content-Type: application/json
{"userId":"31232","tags":["bj","男"]}
我是用request模块来发送post请求的 相关代码是
setUserTag(userId, tags) {
const nonce = ...
const timestamp = ...
const signature = ...
let options = { //request options
url: 'https://api.cn.ronghub.com/user/tag/set.json',
headers: {
'App-Key': this.app_key, // 开发者平台分配的 App Secret。
nonce: nonce, //随机数,无长度限制。
timestamp: timestamp, //时间戳,从1970年1月1日0点0分0秒开始到现在的秒数。
signature: signature, //数据签名。
'Content-Type': 'application/json'
},
form: {
userId: userId,
tags: tags
}
};
console.log('tags' + JSON.stringify(tags));
return request.postAsync(options).spread((res, body)=>{
console.log('res body:' + JSON.stringify(body));
return body;
});
}
但是总是返回1002(参数错误),猜测问题就是出在这个tags上,因为其他类似的接口(不含数组做参数的)都没有问题 console.log那一句已经验证了之前拿到的tags确实是一个数组。。