撒拉嘿哟木头 2010-11-28 07:16 采纳率: 100%
浏览 454
已采纳

如何在 Node.js 中提取 POST 数据?

How do you extract form data (form[method="post"]) and file uploads sent from the HTTP POST method in Node.js?

I've read the documentation, googled and found nothing.

function (request, response) {
    //request.post????
}

Is there a library or a hack?

转载于:https://stackoverflow.com/questions/4295782/how-do-you-extract-post-data-in-node-js

  • 写回答

23条回答 默认 最新

  • hurriedly% 2010-11-28 10:45
    关注

    If you use Express (high-performance, high-class web development for Node.js), you can do this:

    HTML:

    <form method="post" action="/">
        <input type="text" name="user[name]">
        <input type="text" name="user[email]">
        <input type="submit" value="Submit">
    </form>
    

    JavaScript:

    app.use(express.bodyParser());
    
    app.post('/', function(request, response){
        console.log(request.body.user.name);
        console.log(request.body.user.email);
    });
    

    UPDATED on 1/June/2016:

    Method above is deprecated use now:

    const bodyParser = require("body-parser");
    
    /** bodyParser.urlencoded(options)
     * Parses the text as URL encoded data (which is how browsers tend to send form data from regular forms set to POST)
     * and exposes the resulting object (containing the keys and values) on req.body
     */
    app.use(bodyParser.urlencoded({
        extended: true
    }));
    
    /**bodyParser.json(options)
     * Parses the text as JSON and exposes the resulting object on req.body.
     */
    app.use(bodyParser.json());
    
    app.post("/", function (req, res) {
        console.log(req.body.user.name)
    });
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(22条)

报告相同问题?

悬赏问题

  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料
  • ¥15 使用R语言marginaleffects包进行边际效应图绘制
  • ¥20 usb设备兼容性问题
  • ¥15 错误(10048): “调用exui内部功能”库命令的参数“参数4”不能接受空数据。怎么解决啊
  • ¥15 安装svn网络有问题怎么办
  • ¥15 Python爬取指定微博话题下的内容,保存为txt
  • ¥15 vue2登录调用后端接口如何实现
  • ¥65 永磁型步进电机PID算法
  • ¥15 sqlite 附加(attach database)加密数据库时,返回26是什么原因呢?