Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用express从403发送json_Json_Node.js_Express - Fatal编程技术网

如何使用express从403发送json

如何使用express从403发送json,json,node.js,express,Json,Node.js,Express,我想用express做如下操作 let error = {errorCode:"1234"} res.sendStatus(403, {error: error}); 在我的前端javascript中,我希望捕获错误并像这样检查它 getData(mydata).then((data)=> { console.log(data); ).catch((error)=> { console.log(error.errorCode); }); 无论出于什么原因,这都

我想用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。

使用此语法

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

以防万一,我刚刚遇到了一个类似的情况。。。找到了这个帖子。。。因此,要在客户端访问nodejs http 4xx-5xx的响应主体,可以使用错误对象的response.data属性

例如,在catch块中:

(err => console.log(JSON.stringify(err.response.data))
以>=400 http状态访问响应中发送的对象或数据 例如,从nodejs服务器

返回res.status(403).send({data})


至少它对我起了作用,希望这会有帮助

我应该澄清我正在捕捉403,我只是没有看到错误对象回来。如果我查看响应头,我可以看到我的json返回,但它不在error对象中。我尝试过,返回的结果如下:error:jsonRequest of/my/url/failed with HTTP error 403Correct。不知道为什么。Json主体也应该带有状态。您如何检查响应。在《邮差?不,我在chrome inspector》中查看network response.res.status(403.send({error:{“errorCode”:“1234”}});试试这个