從nodejs我試圖發佈數據到另一個URL 127.0.0.1:3002(在文件poster.js), ,但是當我嘗試訪問它在服務器上的127.0.0.1: 3002再發布的數據是不是來:Node.js中的HTTP POST不起作用
我poster.js看起來是這樣的:
var http = require('http');
function post() {
var options = {
host : '127.0.0.1',
port : 3002,
path : '/note/',
method : 'POST'
};
var req = http.request(options, function(res) {
res.setEncoding('utf8');
res.on('data', function(chunk) {
console.log('BODY: ' + chunk);
});
});
req.on('error', function(e) {
console.log('problem with request: ' + e.message);
});
req.write("<some>xml</some>");
req.end();
}
post();
和app.js我的服務器代碼:
var express=require('express');
app=express();
app.post('/note',function(req,res){
console.log(req.params);
})
app.listen(3002);
console.log('sweety dolly')
我的服務器控制檯顯示:
個sweety dolly
[]
req.params是表示[]這意味着在發送我發送XML
在兩個不同的命令行 我正在燒製兩個不同的過程像
node app
和它接收到的無然後在下一個命令行
node poster
我在做什麼錯?
你確定'方法:'GET'在假定的POST操作?編輯:我看到你改變了它,仍然沒有工作? –
雖然嘗試它只是發佈,但最後我改變它GET獲取錯誤,任何方式仍然不工作 – WebServer
'ses.setEncoding('utf8');'一個錯字? –