axios 和 cookie 的那些事

後端寫好,前端寫好,postman測試作好,一切都沒有問題,
可是
實際用axios來實現登錄功能的時候問題就來了....
什麼狀況?登錄根本用不了啊!每次都提示我沒有登錄!
代碼沒問題啊,postman都測試過了
迷茫這去找谷歌百度幫助...
發現問題是...前端

一個登陸的場景,用axios發送post請求去登陸,能成功返回數據,可是用做權限驗證的cookie就是沒有保存,經查閱,axios 默認不發送cookie,跨域也是一個緣由,須要全局設置

因此咱們須要這麼設置
axios.defaults.withCredentials = trueios

感受能夠了,
可是axios

竟然告訴我這麼作以後,竟然告訴我Access-Control-Allow-Origin不能是*,好,我改
res.header('Access-Control-Allow-Origin', 'http://localhost:8080');後端

感受能夠了,
可是跨域

仍是不行,他還要求我Access-Control-Allow-Credentials不能是''
好吧...我確實沒寫...
那就加吧cookie

res.header('Access-Control-Allow-Credentials', 'true');

感受能夠了,
可是,
不對,
沒有可是了!post

axios能夠順利實現登錄功能了...
總結一下,關鍵基本就是下面兩個圖的代碼...測試

clipboard.png

clipboard.png

相關文章
相關標籤/搜索