[英]Node.js post request on http not finishing
在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有一個測試站點,可以進行嘗試,如果我在那里嘗試,它就可以工作。 這是我在該工具中檢查日志數據時的樣子:
有人知道我是否錯誤地附加了日志數據嗎? 我不會發布相同的數據。
謝謝
post_req.write(JSON.stringify({
"logs" : JSON.stringify('[{"test":"value1"}]')
}));
在代碼的以上部分中,內部JSON.stringify
不正確。 您應該只寫'logs' : [{'test' : 'value1'}]
。 外部JSON.stringify
將負責將整個JSON object
轉換為string
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.