Express.js – express.urlencoded() 方法


**express.urlencoded()** 是 Express.js 中内置的中间件。此方法的主要目的是解析带有 **urlencoded** 负载的传入请求,并且基于 body-parser。

此方法返回解析所有 **urlencoded** 主体的中间件。

语法

express.urlencoded( [options] )

参数

以下是此方法可用的不同选项:

  • **options** −

    • **inflate** − 启用或禁用对已解压缩或压缩主体的处理。默认值:true

    • **limit** − 控制请求主体的最大大小。

    • **extended** − 此选项允许在使用 queryString 库或 qs 库解析 URL 编码数据之间进行选择。

    • **type** − 确定将被解析的中间件的媒体类型。

    • **parameterLimit** − 此选项控制 URL 编码数据中允许的最大参数数量。

示例 1

创建一个名为“**urlencoded.js**”的文件并复制以下代码片段。创建文件后,使用命令“**node urlencoded.js**”运行此代码,如下例所示:

// express.urlencoded() Demo Example

// Importing the express module
var express = require('express');

// Initializing the express and port number
var app = express();
var PORT = 3000;

// Using the express.text middleware
// to read encoded string
app.use(express.text());

// Reading content-type
app.post('/', function (req, res) {
   console.log(req.body)
   res.end();
})

// Listening to the port
app.listen(PORT, function(err){
   if (err) console.log(err);
   console.log("Server listening on PORT", PORT);
});

在访问 API 端点之前,请设置以下两个属性:

  • 将 content-type 设置为 **application/x-www-form-urlencoded**。

  • 在 POST 请求中传递以下主体:**{"name": "TutorialsPoint"}**

输出

C:\home
ode>> node urlencoded.js Server listening on PORT 3000 [Object: null prototype] { '{
"title": "tutorialspoint"
}': '' }

示例 2

让我们来看另一个例子。

// express.urlencoded() Demo Example
// Importing the express module
var express = require('express');

// Initializing the express and port number
var app = express();
var PORT = 3000;

// Commenting the express.urlencoded middleware
// app.use(express.urlencoded({extended:false}));
// Reading content-type
app.post('/', function (req, res) {
   console.log(req.body)
   res.end();
})

// Listening to the port
app.listen(PORT, function(err){
   if (err) console.log(err);
   console.log("Server listening on PORT", PORT);
});

在访问 API 端点之前,请设置以下两个属性:

  • 在标头中将 content-type 设置为 **application/x-www-form-urlencoded**。

  • 在 **POST** 请求中传递以下主体:**{"name": "TutorialsPoint"}**

输出

C:\home
ode>> node urlencoded.js Server listening on PORT 3000 undefined

更新于:2022年4月6日

7K+ 次浏览

启动你的职业生涯

完成课程获得认证

开始学习
广告
© . All rights reserved.