我有axios通过基本身份验证获取请求,但是我一直在找回401状态代码。如果我正在执行发布请求,则我的代码可以正常工作,所以我不知道自己在做什么错。
我的后端代码:
app.get('/api/find-user', (req, res) => {
const username = req.body.username;
axios.get('my-url', username, {
auth:{
username: 'my-username',
password: 'my-password'
}
})
.then(resp => {
res.json({resp});
})
.catch(error => {
res.send(error.response.status);
})
});
我的前端代码:
findUser(user){
const username = user;
axios.get('/api/find-user', {username})
.then(resp => {
console.log(resp);
})
.catch(error => {
console.log(error)
})
}
再次执行创建新用户的帖子时,它确实起作用,但是当我执行GET请求时,它一直在说我未被授权。
编辑:如果您想让自己的成年人投反对票,以说明原因。
答案 0 :(得分:0)
这里有很多潜在原因。我认为指出要尝试访问的API可能会有所帮助。例如:
答案 1 :(得分:0)
您需要这样做:
const usernamePasswordBuffer = Buffer.from(username + ':' + password);
const base64data = usernamePasswordBuffer.toString('base64');
const axiosObject = axios.create({
headers: {
'Content-Type': 'application/json',
'Authorization': `Basic ${base64data}`,
}
});
因为Axios需要使用用户名和密码对auth进行“加密”。