【发布时间】:2017-02-17 01:05:56
【问题描述】:
我有一个 Angular 应用程序,它通过 PUT 请求将对象发送到我的 Express 服务器。我的请求的内容类型是 multipart/form-data。
对象是这样的:
obj = {
field1 : "foo",
field2 : null
}
一旦我的 Express 服务器收到要处理的请求,值 null 就会转换为字符串“null”。
换句话说req.body.field2等于一个字符串...
如何确保在传入请求中保留 null 值?
也许 body-parser 正在对空值进行字符串化?
更新: 这是我在 chrome devtools 中看到的请求的有效负载。负载中的空值不是字符串。
------WebKitFormBoundaryvjzQW5NA0dVuzUST
Content-Disposition: form-data; name="artist_id"
bananana
------WebKitFormBoundaryvjzQW5NA0dVuzUST
Content-Disposition: form-data; name="album"
pomme
------WebKitFormBoundaryvjzQW5NA0dVuzUST
Content-Disposition: form-data; name="year"
cerise
------WebKitFormBoundaryvjzQW5NA0dVuzUST
Content-Disposition: form-data; name="front_cover"
null
------WebKitFormBoundaryvjzQW5NA0dVuzUST
Content-Disposition: form-data; name="back_cover"
null
------WebKitFormBoundaryvjzQW5NA0dVuzUST--
【问题讨论】:
-
您可以强制 bodyParser 仅使用 JSON。 bodyParser.json(选项)。你也确定你发送 JSON,比如 chrome 检查器,它说什么?
-
更新了我的帖子。看起来像发送了空值。
-
发布发出请求的 Angular 代码。
标签: javascript angularjs node.js express