【发布时间】:2020-01-15 23:33:45
【问题描述】:
简单的 Node.js 获得一个在 try-catch 块中发送响应状态 200 或 400 的路由。
如果服务器发送 200 响应,我可以将其记录在我的 Axios 获取请求 (console.log(response.status)) 中。
但是,如果 catch 块运行并发送状态 400,我只会在显示错误的浏览器中收到错误,并且我的 response.status 不会运行。这是为什么呢?
我想在前端呈现一条消息,并根据发回的状态做出反应。如果发送了代码 400,那么我想从前端的响应中检索它,但目前还没有达到。
我是否错过了有关这些 Node.js 状态代码如何工作的一些信息?
感谢您的宝贵时间
这里是 Node.js 路由
try {
const user = req.user;
res.status( 200 ).send();
} catch ( e ) {
res.status( 400 ).send();
}
这里是 Axios 获取请求
useEffect( () => {
const call = async () => {
let response = await axios( {
method: "get",
url: "/tasks"
} );
console.log( response );
if ( response.status === 200 ) {
setAuthorized( true );
console.log( "We are authorized" );
} else {
setAuthorized( false );
console.log( "We are not authorized" );
}
};
call();
} );
【问题讨论】: