2015-05-06 36 views
0

我正在請求一個帶有數據的https post方法,但是我的數據並未與請求一起發出,並且爲什麼服務發生錯誤,所以如何更改我的代碼以便它會到達服務器,這裏是我的代碼無法在node.js腳本中POST數據

var https = require('https'); 
var querystring = require('querystring'); 
connect(); 
function connect(){ 

var postData = querystring.stringify({ 
    'application': 'QF2', 
    'client': 'COMMAND', 
    'userId': 'devicexxx', 
    'operation': 'at-cmd', 
    'payload': 'dfdfdfdf', 
    'messageId': '123e454567-e89b-12d3-a456-42665544' 
}); 
var options = { 
    hostname: 'cus.inco.com', 
    port: 443, 
    path: '/portal/action/dev', 
    method: 'POST', 
    rejectUnauthorized: false, 
    headers: { 
    'Content-Type': 'application/json', 
    'Content-Length': postData.length 
    } 
}; 

var req = https.request(options, function(res) { 
    console.log("statusCode: ", res.statusCode); 
    //console.log("headers: ", res.headers); 
    res.setEncoding('utf8'); 
    res.on('data', function(d) { 
    console.log(d) 
    }); 
}); 
req.end(); 

req.on('error', function(e) { 
    console.error(e); 
}); 

} 

回答

1

您需要在結束請求之前write()您的POST數據。

req.write(postData); 
req.end(); 
+0

感謝,特勞特它的工作原理,但我得到了另一個問題的JSON格式我的服務回答錯誤解析JSON,你能幫我嗎? –

+1

如果解決此問題發現了第二個問題,請發佈一個新問題。 – Trott