axios請求之坑——默認Content-Type: application/json


在使用axios發送post請求時,默認的請求頭Content-Type的屬性值為application/json,這個時候瀏覽器會分兩次發送請求,首先使用OPTION方法發送請來詢問服務對請求是否支持,若不支持,則報錯,終止請求的發送。因此服務器需要配置Access-Control相關的屬性才能正確響應。下面是express配置處理一個登錄請求的例子:

app.use('/login', (req, res, next) {
     //配置跨域所允許的域名
    res.header("Access-Control-Allow-Origin", "http://localhost:8080");
    //配置允許的請求頭,若請求頭中包含自定義請求頭在這沒配置,則請求不允許,
    //如果不配置,報錯:Request header field Content-Type is not allowed by Access-Control-Allow-Headers.
    res.header("Access-Control-Allow-Headers", "Content-Type");
    //配置允許的請求方法
    res.header("Access-Control-Allow-Methods","PUT,POST,GET,DELETE,OPTIONS");
    //配置允許發送cookie,不過要注意瀏覽器發送cookie只允許同一個域名下 
    res.header("Access-Control-Allow-Credentials",true); 
})


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM