响应头配置:Access-Control-Expose-Headers: <header-name>, <header-name>, ...
header('Access-Control-Expose-Headers: token'); // 坑!服务器 headers 白名单,可以让客户端进行访问操作的属性
响应首部 Access-Control-Expose-Headers 列出了哪些首部可以作为响应的一部分暴露给外部
需要设置允许客户端访问header头才可进行访问
<?php
header('Access-Control-Expose-Headers: XXXTOKEN'); //允许插入 XXXTOKEN 这个键
header('XXXTOKEN: 123123');浏览器默认是不让获得header中其他值,只能获得 Content-Type
<!DOCTYPE html>
<html>
<head>
<meta charset='utf-8' />
<script src="https://cdn.bootcss.com/jquery/1.11.3/jquery.min.js"></script>
<script type="text/javascript">
$.ajax({
'url': 'http://127.0.0.1:8011/api/admin/login',
//'contentType': 'application/json',
'method':'post',
'headers':{
//'X-Access-Token':'asdfasd',
//"X-Requested-With":"XMLHttpRequest",
//"Weiyi-Env":"development"
},
'data':{
//'type':'1'
},
success:function(data,textStatus,xhr){
console.log('success');
console.log(data);
console.log(textStatus);
console.log(xhr.getResponseHeader('content-type'));
console.log(xhr.getResponseHeader('content-length'));
console.log(xhr.getResponseHeader('XXXTOKEN')); //可以获取到 123123的值
console.log(xhr);
console.log(xhr.getAllResponseHeaders());
//跨域只能获取到这些数据
//last-modified: Thu, 11 Jul 2019 07:23:17 GMT
//content-type: image/png
console.log(this);
},
error:function (XMLHttpRequest, textStatus, errorThrown) {
console.log(123123123);
console.log(XMLHttpRequest);
console.log(textStatus);
console.log(errorThrown);
}
});
</script>
</head>
<body>
测试跨域
</body>
</html>