【发布时间】:2017-01-06 19:37:57
【问题描述】:
我正在尝试发送一个包含来自猫鼬的错误的自制数组,它使数组正常。 代码如下:
student.save(function(err, student) {
if(err)
var errors = [];
for (field in err.errors) {
errors.push({error: err.errors[field].message})
};
res.contentType('application/json').status(500).send(JSON.stringify(errors));
res.status(200).json(student);
});
它将创建一个这样的数组:
[ { error: 'Error, expected `_id` to be unique. Value: `111111` },
{ error: 'Error, expected `email` to be unique. Value: `test@test.com` } ]
但是发送到angular2时,是作为字符串存储的
_body: "[{"error":"Error, expected `_id` to be unique. Value: `111111`"},{"error":"Error, expected `email` to be unique. Value: `test@test.com`"}]"
headers: ...
ok: false
status: 500
statusText: "OK"
type: 2
url: ...
目前我正在尝试将 'err' 记录到 Angular2 中的控制台。但我尝试过 JSON.parse 并收到此错误:EXCEPTION: SyntaxError: Unexpected token o in JSON at position 1。
另外,我尝试了许多不同的发送数组的方法,我尝试过.json(errors); 而不是.send(JSON.stringify(errors));
任何想法将不胜感激
编辑 angular2代码:
err => console.log(err)
我已经尝试过JSON.parse(err) 并且我已经尝试过private errors = []; 并将“err”插入到该数组中,但没有任何变化,我仍然得到相同的结果
【问题讨论】:
标签: arrays json node.js express angular