php+vue+axios session 跨域爲空

一、服務器端響應頭配置ios

將響應頭設置成Access-Control-Allow-Origin:域名
響應頭設置Access-Control-Allow-Credentials:true,表示跨域時,容許cookie添加到請求中。 
注:設置Access-Control-Allow-Credentials:true後,要將Access-Control-Allow-Origin指定到具體的域,不然cookie不會帶到客戶端。ajax

header('Access-Control-Allow-Origin:http://192.168.1.38:8080');
header("Access-Control-Allow-Credentials:true");
header("Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept");
header('Access-Control-Allow-Methods: GET, POST, PUT,DELETE,OPTIONS');
header("Content-type: text/json; charset=utf-8");

二、Vue中axios請求配置json

XMLHttpRequest的withCredentials標誌設置爲true,從而使得Cookies能夠隨着請求發送。由於這是一個簡單的GET請求,因此瀏覽器不會發送一個「預請求」。可是,若是服務器端的響應中,若是沒有返回Access-Control-Allow-Credentials: true的響應頭,那麼瀏覽器將不會把響應結果傳遞給發出請求的腳步程序,以保證信息的安全。axios

在請求中設置axios跨域

axios.defaults.withCredentials = true; //讓ajax攜帶cookie瀏覽器

相關文章
相關標籤/搜索