express 4.17.1创建的查询对象,要求主体中没有

编程入门 行业动态 更新时间:2024-10-09 20:25:36

express 4.17.1创建的查询对象,要求<a href=https://www.elefans.com/category/jswz/34/1771230.html style=主体中没有"/>

express 4.17.1创建的查询对象,要求主体中没有

我当前正在使用Express ^ 4.17.1。

我正在尝试使用url编码查询。我看到的行为与我对快速规范的理解不符。根据规格.html,使用express.urlencoded

在中间件(即req.body)或空对象({})之后,在请求对象上填充了包含已解析数据的新主体对象,>

但是具有此类型的原始网址:

req.originalUrl: /users/status?a=1234&b=5678

我最终得到这个:

req.body: {}

req.query: {"a":"1234","b":"5678"}

我的代码实现如下:

const app = express(); app.use(express.urlencoded({ extended: true, limit: '3MB' })); app.use(express.json({ limit: '3MB' }));

req.query对象包含我在req.body中期望的内容,为什么req.body为空?我是否需要使Express应用程序的查询解析器无效,以使查询以req.body结尾?我该怎么办?

如果express默认包含查询解析器,为什么还要添加对express.urlencoded的支持,您是否可以通过这两个工具访问不同类型的查询?


编辑5/11/2020

这个问题来自我对http的缺乏了解。

urlencoded模块用于解码已编码为application / x-www-form-urlencoded的主体数据。所有这些意味着,主体部分的编码方式与url部分的编码方式相同(如果我错了,请纠正我!)。但它不会以任何方式将正文部分链接到url。

所以req.body为空,因为我没有在GET调用中传递任何主体。而且查询详细信息的确是从req.query获取的。

我目前正在使用Express ^ 4.17.1。我试图弄清URL编码的查询。我看到的行为与我对快速规范的理解不符。根据规格http:// ...

回答如下:

您可以这样运行查询:

更多推荐

express 4.17.1创建的查询对象,要求主体中没有

本文发布于:2024-05-07 11:17:54,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1755996.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:主体   对象   express

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!