【问题标题】:object property's null value converted to "null" string对象属性的 null 值转换为“null”字符串
【发布时间】: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


【解决方案1】:

尝试使用冒号: 而不是=

obj = {
   field1 : "foo",
   field2 : null
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-10-01
    • 2021-10-29
    • 1970-01-01
    • 2021-04-04
    • 2012-04-12
    • 2011-01-09
    • 2013-08-21
    相关资源
    最近更新 更多