在node.js中我使用http请求模块发出此请求
var post_req = http.request({
host: 'api.site1.ciscozeus.io',
path: '/logs/' + ZUES_TOKEN + '/' + logName + '/',
port: 80,
method: 'POST',
headers: {
'Content-type' : 'application/x-www-form-urlencoded'
}
}, function(res) {
res.on('data', function (chunk) {
console.log(1);
cb(chunk);
});
});
post_req.write(JSON.stringify({
"logs" : JSON.stringify('[{"test":"value1"}]')
}));
post_req.on('error', function(e) {
console.error(e);
});
post_req.end();
但我的问题是它似乎没有进入cb(chunk);
。就像它没有调用最终承诺函数一样。它没有打印console.log(1)。
api有一个测试网站试试看,如果我在那里尝试,它就可以了。以下是当我在该工具中工作时检查日志数据时的外观:
有没有人知道我是否错误地附加了日志数据?我不想发布相同的数据。
由于
答案 0 :(得分:0)
post_req.write(JSON.stringify({
"logs" : JSON.stringify('[{"test":"value1"}]')
}));
在代码的上述部分中,内部JSON.stringify
不正确。你应该写'logs' : [{'test' : 'value1'}]
。外部JSON.stringify
将负责将整个JSON object
转换为string
。