在axios.get reactJS上中止请求

时间:2020-06-21 20:21:19

标签: javascript node.js reactjs axios

我正在尝试通过令牌从本地存储中获取请求,但这给了我请求中止错误。

这是我的nodeJS代码:

    //Read
app.get('/:username',verify, (req, res) => {
 console.log('Welcome to roffys server')
 Todo.find({'username' : req.params.username})
     .exec((err, todo) => {
      if (err) {
       console.log('Error retrieving todos')
      } else {
       res.json(todo)
      }
     })
})

这是验证功能:

    const jwt = require('jsonwebtoken')

module.exports = function (req,res,next){
    const token = req.header('Authentication')
    if(!token) return res.status(401).send('Access Denied')

    try {
        const verified = jwt.verify(token, 'secretkey')
         req.user = verified
    }catch (err) {
        res.status(400).send(
            'Invalid token'
        )
        next()
    }

这是我在ReactJS组件上的FE:

   componentDidMount() {
    axios
        .get(`http://localhost:8080/${localStorage.getItem('username')}`,{
            headers : {
                Authentication : localStorage.getItem('token')
            }
        })
        .then((res) => {
            this.setState({todos: res.data})
            this.setPageCount()
        })
        .catch((err) => {
            console.log("err", err);
        });
}

1 个答案:

答案 0 :(得分:1)

yow方法都不返回任何东西。


componentDidMout () {
  return axios.get(url, config)
            .then (res=> this.setState(myProp: res.data});

......
Back
var verify = require(“./path/to verify”);

    //Read
app.get('/:username',verify, (req, res) => {

return Todo.find({'username' : req.params.username})
     .exec()
      .then(todo=> res.json(todo))
      .catch(console.log);
})