如何从带有快递的403发回json

时间:2016-08-10 16:36:39

标签: json node.js express

我想用快递做以下的事情。

let error = {errorCode:"1234"}
res.sendStatus(403, {error: error});

在我的前端javascript中,我想抓住错误并像这样检查

getData(mydata).then((data)=> {
     console.log(data);
).catch((error)=> {
     console.log(error.errorCode);
});

无论出于何种原因,这不是将json发送回我的catch方法,我想知道为什么以及如何在发回403时发送json。

2 个答案:

答案 0 :(得分:3)

使用此语法

res.status(403).send({errorCode:"1234"});
// or
res.status(403);
res.send({errorCode:"1234"});

答案 1 :(得分:0)

为了以防万一,我刚刚遇到了类似的情况......并找到了这篇文章......所以要在客户端访问nodejs http 4xx-5xx的响应主体,您可以使用的response.data属性错误对象...

例如在catch块中:

(err => console.log(JSON.stringify(err.response.data))

访问一个对象或数据发送的响应具有 >= 400 http 状态 例如来自 nodejs 服务器的

return res.status(403).send({data});

至少它对我有用,希望这会有所帮助