我一直在使用node
和ng4
Node.js的表达res.json行为
,当我遇到使用res.json
发送阵列回角4前端,像res.json(arrayResult)
来到工作在我的项目之一。令人惊讶的是,在Angular收到它之后我不能使用JSON.parse(arrayResult)
,因为它会抛出一个错误,说明意外的输入结束。然而,我可以通过结果[i]访问所有数据,就像任何普通数组一样。
我不太明白为什么res.json()
不会将我的数组作为字符串发送到前端。是否有任何内部转换?为什么我可以通过索引访问内容,甚至不需要解析它或使用它进行任何转换?
'res.json'正在设置'application/json'响应的'content-type':https://github.com/expressjs/express/blob/master/lib/response.js#L264 –
'res.json()'不会将你的内容作为JSON字符串(使用适当的内容类型)发送 - 这就是它的工作原理。如果您在Chrome浏览器的网络标签中查看该请求/响应,则可以准确查看通过线路发送的内容。可能Angular已经为你解析它,所以它已经是一个Javascript对象,因此你不能重新解析它。 – jfriend00