【发布时间】:2020-07-15 21:20:27
【问题描述】:
我有一个在后端使用 NodeJS 的应用程序,特别是 Express 框架来提供 API 路由。我的客户端是用 ReactJS 编写的,利用axios 来发出 API 请求。
第一次使用axios 包,我找不到如何从响应中访问错误消息。
我的 API 作为错误响应返回:
res.status(404).send({ error: 'Error Message' });
在axios 我有:
axios.post('/api/users', newUser)
.then((user) => {
console.log(`User created: ${JSON.stringify(user)}`);
}).catch((err) => {
console.log(`Error : ${JSON.stringify(err)}`);
});
console.log(`Error : ${JSON.stringify(err)}`) 打印:
{
"message": "Request failed with status code 404",
"name": "Error",
"stack": "Error: Request failed with status code 404\n at createError (http://localhost:3000/static/js/0.chunk.js:13853:15)\n at settle (http://localhost:3000/static/js/0.chunk.js:14074:12)\n at XMLHttpRequest.handleLoad (http://localhost:3000/static/js/0.chunk.js:13328:7)",
"config": {
"url": "/api/users",
"method": "post",
"data": "someData",
"headers": {
"Accept": "application/json, text/plain, */*",
"Authorization": "Bearer xxxxx",
"Content-Type": "application/json;charset=utf-8"
},
"transformRequest": [
null
],
"transformResponse": [
null
],
"timeout": 0,
"xsrfCookieName": "XSRF-TOKEN",
"xsrfHeaderName": "X-XSRF-TOKEN",
"maxContentLength": -1
}
}
我在 err 对象中找不到来自服务器的响应消息,我什至尝试过:
res.status(404).json({ error: 'Error Message' });
没有成功。
【问题讨论】:
标签: node.js reactjs express axios