这是我的前端代码
const fetchData = () => {
const options = {
method: 'GET',
url: 'http://localhost:1337/user/chart',
headers: {'x-access-token': sessionStorage.getItem('token')},
body: [chartData.datasets]
}
axios.request(options).then((response) => {
console.log(response)
}).catch((error) => {
console.error(error)})
}
这是后端
app.get('/user/chart', async (req, res) => {
const token = req.headers['x-access-token']
if (!token){
return res.status(404).json({ success: false, msg: "Token not found" });
}
try {
const decoded = jwt.verify(token, process.env.access_secret)
const email = decoded.email
await User.updateOne(
{ email: email },
{ $set: {} },
)
console.log(req.body)
return res.status(200).json({message: 'ok', label:[]})
} catch (error) {
console.log(error)
res.json({ status: 'error', error: 'invalid token' })
}
})
当我console.log(req.body)时,它是空的{}。为什么它是空的?我正在使用GET请求来检索图表数据
3条答案
按热度按时间abithluo1#
Axios API不接受get get请求的主体,您可以使用params示例发送参数
mdfafbf12#
Axios不支持为get请求设置主体,请参阅文档或this related question。
不过,我也建议重新考虑您的设计。通常GET请求中不使用主体。如果您要向服务器发送数据,则可能希望使用POST或PUT。如果您只想传递参数,则可能希望使用请求参数。
如果您确实需要在GET请求中发送一个主体,那么您将需要使用不同的工具。
zvokhttg3#
前端//
后端//
})