gpt4 book ai didi

javascript - 什么是 express.json() 和 express.urlencoded()?

转载 作者:IT老高 更新时间:2023-10-28 23:22:40 24 4
gpt4 key购买 nike

我找不到关于 express.json()express.urlencoded() 的任何文档。他们每个人具体做什么?

最佳答案

这里的解释应该可以消除对express.json()express.urlencoded()的疑惑以及body-parser的使用。我花了一些时间才弄清楚这一点。

  1. 什么是中间件?在您的应用程序方法中处理请求和发送响应之间调用的是那些方法/函数/操作。

  2. 在谈论 express.json()express.urlencoded() 时,请特别考虑 POST 请求(即 .post 请求对象)和 PUT 请求(即 .put 请求对象)

  3. 对于 GET 请求或 DELETE 请求,您不需要 express.json()express.urlencoded()

  4. 对于 POST 和 PUT 请求,您需要 express.json()express.urlencoded(),因为在这两个请求中,您都发送data (以某些数据对象的形式)到服务器,并且您要求服务器接受或存储该数据(对象),该数据(对象)包含在正文中(即 req.body) 的(POST 或 PUT)请求

  5. Express 为您提供了处理请求正文中的(传入)数据(对象)的中间件。

    一个。 express.json() 是 express 内置的一种方法,用于将传入的请求对象识别为 JSON 对象。此方法在您的应用程序中作为中间件调用,代码如下:app.use(express.json());

    b. express.urlencoded() 是 express 内置的一种方法,用于将传入的请求对象识别为 字符串或数组。此方法在您的应用程序中作为中间件调用,使用以下代码:app.use(express.urlencoded());

  6. 或者,我建议使用 body-parser(它是一个 NPM 包)来做同样的事情。它是由构建 express 的同一位窥视者开发的,旨在与 express 一起使用。 body-parser 曾经是 express 的一部分。考虑专门针对 POST 请求(即 .post 请求对象)和/或 PUT 请求(即 .put 请求对象)的正文解析器。

  7. 在body-parser中你可以做

    // calling body-parser to handle the Request Object from POST requests
    var bodyParser = require('body-parser');
    // parse application/json, basically parse incoming Request Object as a JSON Object
    app.use(bodyParser.json());
    // parse application/x-www-form-urlencoded, basically can only parse incoming Request Object if strings or arrays
    app.use(bodyParser.urlencoded({ extended: false }));
    // combines the 2 above, then you can parse incoming Request Object if object, with nested objects, or generally any type.
    app.use(bodyParser.urlencoded({ extended: true }));

关于javascript - 什么是 express.json() 和 express.urlencoded()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23259168/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com