喵-见缝插针 2010-11-28 07:16 采纳率: 0%
浏览 596
已采纳

如何在 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条回答 默认 最新

  • lrony* 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条)

报告相同问题?

悬赏问题

  • ¥20 delta降尺度方法,未来数据怎么降尺度
  • ¥15 c# 使用NPOI快速将datatable数据导入excel中指定sheet,要求快速高效
  • ¥15 再不同版本的系统上,TCP传输速度不一致
  • ¥15 高德地图点聚合中Marker的位置无法实时更新
  • ¥15 DIFY API Endpoint 问题。
  • ¥20 sub地址DHCP问题
  • ¥15 delta降尺度计算的一些细节,有偿
  • ¥15 Arduino红外遥控代码有问题
  • ¥15 数值计算离散正交多项式
  • ¥30 数值计算均差系数编程