表单提交后数据无法被nodejs获取?

constfs=require('fs');
constqs=require('querystring');
require('http').createServer(function(req,res){
if(req.url==='/'){
res.writeHead(200,{'content-type':'text/html'});
res.end(['',
'',
'',
'',//
''].join(''))
}
elseif('/url'===req.url&&req.method==='POST'){
res.writeHead(200,{'content-type':'text/plain'});
varbody='';
req.on('data',function(chunk){
body+=chunk;
});
console.log(body)//无输出
res.end('helloworld'+qs.parse(body).name+'end')//输出undefined
}
}).listen(3000);
为什么在表单中输入数据后提交无法被node获得,body变量无内容??
幕布斯7119047
浏览 438回答 2
2回答

FFIVE

只有req可读流处理完之后才能响应,此时会触发end事件,所以elseif逻辑不对,修改后的如下。elseif('/url'===req.url&&req.method==='POST'){res.writeHead(200,{'content-type':'text/plain'});varbody='';req.on('data',function(chunk){body+=chunk;});req.on('end',function(){res.end('helloworld'+qs.parse(body).name+'end')})}

神不在的星期二

你log输出的时机不对req.on('data',function(chunk){body+=chunk;console.log(body);});
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript