问题标签 [body-parser]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
698 浏览

javascript - TypeError:即使包含正文解析器,也无法读取未定义的属性“_id”

我正在尝试学习平均堆栈,TypeError: Cannot read property '_id' of undefined现在我在互联网上搜索时遇到了这个错误,人们说我必须包含 body-parser 并且我已经在我的 server.js 文件中,我必须这样做出了点问题,顺便说一句,我确实想提一下,奇怪的是,我的应用程序中没有 node_modules 文件夹,但是在 body-parser 之前,一切正常,我确实将 express 安装为全局包在此处输入图像描述,这是我的文件server.js

index.html file

controller.js file

0 投票
1 回答
1825 浏览

node.js - 来自 body-parser Node JS 的不需要的格式

我有一个 android 应用程序使用以下内容向我发送加速度计数据,其中 body 是一个字符串,例如{"device_name":"device1","time":123123123,"acceleration":1}

在服务器端,我正在使用正文解析器,例如:

当我收到一个发布请求时,会出现以下内容:

我想以以下形式获取 req.body{"device_name":"device1","time":123123123,"acceleration":1}是否有我缺少的参数来设置它?

谢谢!

更新:

我无法访问客户端代码以进行更改,因此更改正在发送的内容类型会更加困难。这是 req.head 日志...

0 投票
2 回答
263 浏览

node.js - 节点通过 body-parser 获取发布的变量

我正在尝试在节点应用程序中检索发布的变量。我正在使用 Postman 表单数据(就像我在许多其他 API 测试情况中一样)将消息发布到我的节点应用程序。但是当我console.logrequest.body我得到一个空对象。这是我的整个节点应用程序:

发布一些数据后,以下是我的控制台中显示的内容:

这是我的 package.json:

我想我想继续使用正文解析器,因为我打算将它作为一个带有 json 数据的 API。该应用程序加载正常,没有错误。我错过了什么?

0 投票
2 回答
2293 浏览

express - 当内容类型有多个值时,body-parser 得到空的 body

我从 express 3 升级到 4,body parse 中间件已经改变,所以我使用body-parser它,它在大多数情况下看起来都很好:

但是我有一个第 3 方服务,它将调用我的特定 url 来通知消息,它​​在 express 3 中工作正常,但在 express 4 中失败,因为req.body它是空的

我调试请求头,发现Content-Typeapplication/x-www-form-urlencoded; text/html; charset=UTF-8而不是application/x-www-form-urlencoded

所以我在 curl 中进行了测试,当我删除时text/html; charset=UTF-8req.body可以准确地显示我的帖子正文。

那我该怎么办?这是第三方服务,他们没有理由更改代码,有节点方式吗?tks

0 投票
2 回答
15222 浏览

node.js - 使用 Nodejs 和 body-parser 发布表单数据

我现在已经对此进行了几次不同的在线尝试,并且我的帖子数据一直未定义,并且 console.log(JSON.stringify(req.body)) 也没有返回任何内容。所以我在某个地方出错了...

HTML:

JS:

0 投票
1 回答
1256 浏览

playframework - 在 POST 请求体 Play Framework 中获取数据

玩 2.4.x。我们如何获取通过 POST 请求正文发送的数据作为键值对?我正在从邮递员插件发送一个发布请求,在正文中创建了一个键值部分。

我怎么能从动作函数中得到这个值。我尝试使用 request.body() 但它无法单独从中获取价值..

有什么方法可以让我获取在发布请求正文中发送的值

0 投票
1 回答
1703 浏览

node.js - 使用 koa js 检索正文的字符串和 json

我将 koa js 与bodyparser一起使用,假设客户端发送正文如下:

我想要的是原始正文作为没有更改的字符串(JSON.stringify 更改字段的顺序并删除空格然后我不能使用它)。我尝试使用为我提供正文字符串的raw-body,因此我必须将其解析为 JSON。

是否有任何中间件可以将我的正文作为 json 和原始字符串?

0 投票
0 回答
833 浏览

node.js - 使用 Node/Express/Mongoose 保存到 MongoDB

我正在尝试使用 node/express/bodyParser/mongoose 的组合将新的“播放列表”保存到 mongoDB。这是我到目前为止的代码:

当我使用 POSTMAN 发布时,我得到以下响应:

playlist.businessName 和 playlist.businessEmail 都像我预期的那样返回,但是这些都没有显示在数据库中或仅显示在播放列表响应中。当我发布时,数据库中只显示以下内容:

{“_id”:{“$oid”:“55aff680551ec57031000001”},“__v”:0}

但是,当我删除其中一个键:值对并像下面这样更改它时,它可以工作:

数据库/文档中的数据:

}

playlist.name 现在显示在文档中。我的问题是如何将 playlist.name 和 playlist.email 等保存到文档中?

更新

更新架构后,现在一切都按预期工作。

旧架构:

更新的架构:

0 投票
1 回答
103 浏览

node.js - node.js 架构——如何共享中间件(bodyparser)

为了使“app.js”与其他功能分开,我重组了我的节点应用程序,如下所示:

应用程序.js

控制器/index.js

控制器/routeController.js

我的问题是当我调用 GET/loggedin它返回一堆 HTML - 似乎 bodyparser 没有被激活。我尝试过在其中声明 bodyparser ,routeController.js但这似乎没有帮助。我将如何在这些不同的文件中共享这个中间件?

0 投票
1 回答
83 浏览

meteor - Meteor - Iron Router - 无法正确解析 urlencoded http 请求

我有一个服务器路由设置,它接受来自外部服务(PayPal)的 POST 请求。我以前可以通过访问路由函数this.request.body内部来获取所有详细信息action,但是在最近进行了流星更新之后,请求正文不再被正确解析,并且弄清楚为什么显然超出了我的技能水平。

我想我可以回滚更新以使一切恢复正常,但我正试图弄清楚发生了什么。

所以我的问题是: 为什么请求正文没有被正确解析?即使只是在大方向上点头也会非常感激,因为我在这里一无所知。

我的路线如下所示:

它曾经打印出如下所示的响应:

但是在更新之后,请求正文被解析如下:

因此,解析器现在尝试创建嵌套transaction对象,而不是第一个示例中的平面数据结构。但是键值被弄乱了..例如,第一个[被丢弃,最后一个字符也是如此(状态而不是状态,类型而不是类型等)

这里有什么想法吗??

我通过 ngrok 获得的实际请求的主体是:

这些是我运行流星更新时更新的软件包: