【问题标题】:I am getting Uncaught (in promise) Error: Request failed with status code 401我收到 Uncaught (in promise) 错误:请求失败,状态码为 401
【发布时间】:2021-03-11 11:55:12
【问题描述】:

我得到了

“未捕获(承诺中)错误:请求失败,状态码为 401”

而我的其他 API(如 GETPUTPOSTJWT 工作正常。我想知道我哪里出错了?提前非常感谢,非常感谢任何帮助。再次感谢。

//JWT
function JWTAuthenticatToken(req, res, next) {

  const token = req.cookies.authcookie
  jwt.verify(token, process.env.JWT_TOKEN_SECRET, (err, userData) => {
    if (err) return res.sendStatus(401).json({ error: "You have to be logged in!" })
    req.user = userData
    next()

  })
}

//client
const deletePost = async (id) => {
  const response = await Axios.delete('http://localhost:5000/api/posts/delpost', { postId: id }, { withCredentials: true })
  const deleteData = dbdata.map(item => {
    if (item._id == response.data._id) {
      return response.data
    }
    else {
      return item
    }

  })
  setDBData(deleteData)

}
  
//express
router.delete('/delpost', JWTAuthenticatToken, async (request, response) => {
  console.log(request.body)
  try {
    const post = await Post.findOne({ _id: request.body.postId }).populate("postedby", "_id")
    if (post.postedby._id === request.user.id) {
      post.remove({ _id: request.body.postId })
      return response.json({ message: "deleted succesfully" })

    }
  } catch (error) {
    return response.json({ message: error })
  }

})

【问题讨论】:

  • 您应该在 Axios.delete() 调用中将令牌添加到标头中,您的令牌在哪里?
  • function JWTAuthenticatToken(req, res, next) { const token = req.cookies.authcookie jwt.verify(token,process.env.JWT_TOKEN_SECRET,(err,userData) =>{ if(err) return res.sendStatus(401).json({error:"你必须登录!"}) req.user = userData next() }) }
  • JWT 令牌适用于 put post 和 get,但不能删除
  • 你能把它添加到你的问题中吗?这是您问题中非常重要的一部分
  • 只需将其添加到您的删除中的 Axios.delete() 标题中

标签: node.js reactjs axios


【解决方案1】:

最后我发现axios不支持delete。我改为发帖,它奏效了。

【讨论】:

    【解决方案2】:

    删除Router.delete。然后就可以了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-09-15
      • 2020-10-21
      • 2021-04-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-10-21
      • 2021-05-18
      相关资源
      最近更新 更多