後端寫好,前端寫好,postman測試作好,一切都沒有問題,
可是
實際用axios來實現登錄功能的時候問題就來了....
什麼狀況?登錄根本用不了啊!每次都提示我沒有登錄!
代碼沒問題啊,postman都測試過了
迷茫這去找谷歌百度幫助...
發現問題是...前端
一個登陸的場景,用axios發送post請求去登陸,能成功返回數據,可是用做權限驗證的cookie就是沒有保存,經查閱,axios 默認不發送cookie,跨域也是一個緣由,須要全局設置
因此咱們須要這麼設置axios.defaults.withCredentials = true
ios
感受能夠了,
可是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能夠順利實現登錄功能了...
總結一下,關鍵基本就是下面兩個圖的代碼...測試