node.js - axios请求总是返回200

标签 node.js reactjs express axios

我正在发出一个非常简单的 PUT 请求(见下文。)出于某种原因,无论我从 Express 服务器发回什么响应代码,axios 都会看到 200。在我的 Express 日志中,它显示了正确的响应:

PUT /v1/org/password/reset 404 339.841 ms - 71

这是发送响应服务器端的代码行:

res.json({ message: 'Could not find user with that token or the token expired.' }).status(404);

我知道这条线正在被触发,因为记录到浏览器控制台的正文显示了相同的消息。请参阅屏幕截图。 enter image description here

我唯一能想到的是浏览器正在缓存响应?

    axios.put(`http://localhost:3000/v1/org/password/reset`, {
     password: "example",
     token: "19u8e8j2039d3d32blahblah"
   })
 .then(function (response) {
   if(response.status == 200){
       console.log("success",response)
     //handle success here
   }
 })
 .catch(function (error) {
   console.log("error", error);
   //handle error here
 });

最佳答案

尝试先像这样设置状态

res.status(404).json({ message: 'Could not find user with that token or the token expired.' });

关于node.js - axios请求总是返回200,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52193578/

相关文章:

javascript - 使用 Node.js 同步写入时出错

javascript - 如何将 Material-UI 网格项目显示为不显示为卡片?

javascript - 如何更好地组织 express 中间件?

node.js - Node/Mongo 无法通过 ObjectId 找到

json - 在 sails.js 中隐藏 JSON 响应对象中的一些属性

node.js - Nodejs 与 PM2 和 Winston 合并日志

reactjs - App' 指的是一个值,但在这里被用作一个类型。你的意思是 'typeof App' 吗?

reactjs - 在React组件生命周期方法中, `this.context`是一个空对象

javascript - 将数据从 server/app.js 传递到 Controller Angular-fullstack + multer

javascript - 从服务器(Expressjs路由)发送消息到客户端