从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');'一个错字? –