我試圖將一些JSON數據發佈到RESTful API。但數據不會發布。我使用節點請求:https://github.com/request/request 和使用該頁面的代碼片段。 我的代碼片段:節點請求發佈數據
var async = require('async');
var request = require('request');
var options = {
url: 'http://abcd.dfgh.com/v2.0/observations',
method: 'POST',
headers: {
'x-api-key': '123456=',
'content-type': 'application/json'
}
};
SensorTag.discover(function(sensorTag) {
function callback(error, response, postdata) {
console.log("HERE GOES POST DATA : " + postdata);
if (!error && response.statusCode == 200) {
var info = JSON.parse(postdata);
console.log(info.stargazers_count + " Stars");
console.log(info.forks_count + " Forks");
}
}
async.series([
/*some functions*/
function(callback) {
setTimeout(callback, 2000);
loop();
}
])
function loop() {
async.series([
/*Some functions*/
function(callback) {
/*data etc...*/
var postdata = "{ \"version\": \"1.0.1\", \"observations\": [ { \"sensor\": \"TISensorTag_temp_01\", \"record\": [ { \"starttime\": \"" + formatDate(new Date()) + "\", \"output\": [ { \"name\": \"ObjTemp\", \"value\": \"" + objtemp + "\" }, { \"name\": \"AmbTemp\", \"value\": \"" + ambtemp + "\" } ] } ] } ] }";
request.post(options, callback);
}
])
}
})
但數據沒有公佈,它不斷而不發佈數據循環。任何人都可以請澄清發生了什麼? 也是我發現的是request
並沒有叫callback function
,因爲這一部分,我不能看到:
console.log("HERE GOES POST DATA : "+postdata);
它似乎並不像你實際使用'postdata' –
@ExplosionPills請回調函數 – Zim