当我隐藏授权头时,它工作得很好,但是当我使用授权头时,我得到的error.Below是我的角2代码:
getinfo() {
return new Promise(resolve => {
var headers = new Headers();
this.loadUserCredentials();
console.log(this.AuthToken);
headers.append('Authorization', 'Bearer ' +this.AuthToken);
//headers.append('Content-Type', 'application/x-www-form-urlencoded');
this.http.get('http://ip/ramu/api/index.php?action=getUserInfo', {headers: headers}).subscribe(data => {
if(data.json().success)
resolve(data.json());
else
resolve(false);
});
})
}后端我使用的是php。我在下面给出的php页面中使用了标题
header("access-control-allow-origin: *"); header('content-type:
application/json; charset=utf-8');在错误的下面我会得到
XMLHttpRequest cannot load http://ip/ramu/api/index.php?action=getUserInfo. Request header field Authorization is not allowed by Access-Control-Allow-Headers in preflight response.我必须在后端做什么来允许基于令牌的授权,或者我需要添加任何角码?
发布于 2017-06-20 17:06:36
大多数非标准报头在CORS飞行前响应中需要白名单(就像原点一样),因此在后端:
header("Access-Control-Allow-Origin: *");
header("Access-Control-Allow-Headers: Authorization"); 发布于 2017-06-20 17:26:42
您可以发送像这样的标题,以允许原点。
<?php
header("Access-Control-Allow-Origin: *");
header("Access-Control-Allow-Headers: *");
?>
https://stackoverflow.com/questions/44659097
复制相似问题