constfs=require('fs');constqs=require('querystring');require('http').createServer(function(req,res){if(req.url==='/'){res.writeHead(200,{'content-type':'text/html'});res.end(['','','','Submit',//''].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变量无内容??
2 回答
FFIVE
TA贡献1797条经验 获得超6个赞
只有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')})}
神不在的星期二
TA贡献1963条经验 获得超6个赞
你log输出的时机不对req.on('data',function(chunk){body+=chunk;console.log(body);});
添加回答
举报
0/150
提交
取消