I使用Postman和Rest File用
'Authorization': 'Bearer ${token}'
标头测试了此端点,并且我将数据与状态200进行回去。但是,当我在使用Axios.post方法中做同样的事情时,同一用户未经授权。 Axios.Post:
useEffect(() => {
axios.post('http://127.0.0.1:8000/user/profile/', {
headers: {
"Content-Type": "application/json",
"Authorization": `Bearer ${token}`
},
body: {
"username": "Caution1",
"password": "Caution123"
}
}).then(response => {setData(response.data); console.log(data);});
}, []);
CORS_ALLOW_ALL_ORIGINS
和
CORS_ALLOW_CREDENTIALS
都为true。
我认为问题是您的Axios请求的结构。标题和数据应分别传递,并且Axios不使用身体作为参数。因此,您的有效载荷将作为第二个参数发送,并将其作为第三名发送。这里应该是:
由于错误仍然存在,然后尝试明确定义此:
CORS_ALLOW_HEADERS = ['content-type', 'authorization']
由于某些浏览器阻止了凭据的请求(
Authorization
标头),除非您明确设置它。