javascript - 在 axios.get reactJS 上请求中止
问题描述
我正在尝试通过本地存储中的令牌发出获取请求,但它给了我请求中止错误。
这是我的 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);
});
}
解决方案
你的方法都没有返回任何东西。
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);
})
推荐阅读
- c# - 在 Stimulsoft 中连接来自业务对象的字符串
- ubuntu - 如何在ubuntu上格式化只读usb?
- html - 我希望斜线在两个小盒子之间
- html - 对齐图像以适合封面背景图像的区域?
- node.js - 在 Puppeteer 中将变量作为参数传递给 $eval
- python - 带有矢量文本和数值数据的决策树
- vb.net - Webforms 错误显示了两个项目,尽管解决方案显示了一个项目
- sql - 在 SQL Unpivot 中包含列名
- c# - ASP.NET Core react - 将 Okta 选项从 ASP.NET Core 传递到 ReactJS 应用程序
- python - 任意进程的python进程间互斥锁