CORS跨域時axios無法獲取伺服器自定義的header資訊
阿新 • • 發佈:2019-01-31
最近用vue.js+axios開發單頁面應用時,需要把自定義資訊(token,uid)放到response header中返回,如下
原因:
在使用CORS方式跨域時,瀏覽器只會返回以下預設頭部header:
<?php
header("token:www.uxuew.cn");
header("uid:100");
?>
然後在客戶端獲取在伺服器端自定義的header資訊:const request = axios.post('http://vue.uxuew.cn/login`,props);
request.then((response)=>{
console.log(response.headers);
});
但是我得到的結果裡卻沒有我自定義的值Object {
content-type: "application/json; charset=utf-8",
cache-control: "max-age=0, private, must-revalidate"
}
在瀏覽器網路選單裡,去可以看到所有的response header資訊,包含伺服器端自定義的。原因:
在使用CORS方式跨域時,瀏覽器只會返回以下預設頭部header:
- response header
- Content-Language
- Content-Type
- Expires
- Last-Modified
- Pragma
header('Access-Control-Expose-Headers:token,uid');