为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

胡子哥哥 2019-03-21 22:13:57
const fs = require('fs');const qs = require('querystring');require('http').createServer(function (req,res) {    if (req.url === '/'){        res.writeHead(200,{'content-type':'text/html'});        res.end(['<form method="post" action="/url">',            '<input type="text" name="name">',            '<input type="submit">',            '<button>Submit</button>',   //            '</form>'].join(''))    }    else if ('/url' === req.url && req.method==='POST') {        res.writeHead(200,{'content-type':'text/plain'});        var body = '';        req.on('data',function (chunk) {            body += chunk;        });        console.log(body)  //无输出        res.end('hello world' +qs.parse(body).name +'  end')//输出undefined     }}).listen(3000);为什么在表单中输入数据后提交 无法被node获得,body变量无内容??
查看完整描述

2 回答

?
jeck猫

TA贡献1909条经验 获得超7个赞

只有req可读流处理完之后才能响应,此时会触发end事件,所以else if逻辑不对,修改后的如下。


 else if ('/url' === req.url && req.method==='POST') {

        res.writeHead(200,{'content-type':'text/plain'});

        var body = '';

        req.on('data',function (chunk) {

            body += chunk;

        });

        req.on('end',function(){

        res.end('hello world' +qs.parse(body).name +'  end')

        })

        

    }


查看完整回答
反对 回复 2019-03-23
?
皈依舞

TA贡献1851条经验 获得超3个赞

你log输出的时机不对


        req.on('data',function (chunk) {

            body += chunk;

            console.log(body); 

        });

        


查看完整回答
反对 回复 2019-03-23
  • 2 回答
  • 0 关注
  • 847 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信