2017-10-10 88 views
0

我知道身体解析器用于提取数据,但它是如何工作的。我从我的角度2视图发送JSON.stringify(data),但在我的节点js + express rest API我不需要使用JSON.parse(req.body)来使用数据,请向我解释这是如何工作的。身体解析器如何在节点js中工作

回答

0

只要传入请求的Content-Type标头匹配使用的模式(本例中为application/json),身体分析器模块就会在请求主体上自动运行JSON.parse(使用json模式时)(docs here) 。

查看源码here了解body-parser实际上是如何实现它的。

+0

这是正确的期望,他提到使用JSON.stringify意味着他将使用文本身体解析器当然https://github.com/expressjs/body-parser#bodyparsertextoptions – RLaaa

+0

@ RLaaa我不知道是这种情况。在请求发生之前,发布的数据总是需要进行字符串化。我怀疑他是在发送application/json并在body parser中使用json模式,这就是为什么他不需要在事实之后再进行解析。 –