ฉันจะส่งส่วนหัวการตรวจสอบความถูกต้องด้วยโทเค็นผ่าน axios.js ได้อย่างไร ฉันได้ลองทำบางอย่างแล้วไม่ประสบความสำเร็จเช่น:
const header = `Authorization: Bearer ${token}`;
return axios.get(URLConstants.USER_URL, { headers: { header } });
ทำให้ฉันมีข้อผิดพลาดนี้:
XMLHttpRequest cannot load http://localhost:8000/accounts/user/. Request header field header is not allowed by Access-Control-Allow-Headers in preflight response.
ฉันจัดการเพื่อให้มันทำงานได้โดยการตั้งค่าเริ่มต้นทั่วโลก แต่ฉันเดาว่านี่ไม่ใช่ความคิดที่ดีที่สุดสำหรับคำขอเดียว
axios.defaults.headers.common['Authorization'] = `Bearer ${token}`;
อัปเดต:
คำตอบของโคลช่วยให้ฉันพบปัญหา ฉันใช้มิดเดิลแวร์ django-cors-headersซึ่งจัดการส่วนหัวการอนุญาตตามค่าเริ่มต้นแล้ว
แต่ฉันสามารถเข้าใจข้อความแสดงข้อผิดพลาดและแก้ไขข้อผิดพลาดในรหัสคำขอ axios ของฉันซึ่งควรมีลักษณะดังนี้
return axios.get(URLConstants.USER_URL, { headers: { Authorization: `Bearer ${data.token}` } });
return axios.get(URLConstants.USER_URL, { headers: { Authorization: `Bearer ${data.token}` } });