我正在为我的服务器应用程序使用codeigniter REST API。和客户端Angular2一样,在我的REST API中,我给出了基本的身份验证。我已喜欢Angular 2请求标头字段预操作响应中的Access-Control-Allow-Headers不允许授权
$config['rest_auth'] = 'basic';
而且
$config['rest_valid_logins'] = ['uname' => 'pwd'];
,也为CORS检查我用下面的代码,
$config['check_cors'] = TRUE;
$config['allowed_cors_headers'] = [
'Origin',
'X-Requested-With',
'Content-Type',
'Accept',
'Access-Control-Request-Method'
];
$config['allowed_cors_methods'] = [
'GET',
'POST',
'OPTIONS',
'PUT',
'PATCH',
'DELETE'
];
$config['allow_any_cors_domain'] = TRUE;
而且我也试图在我的休息控制器明确地尝试,
header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Methods: GET, PUT, POST, DELETE, OPTIONS');
header('Access-Control-Allow-Headers: Content-Type, Content-Range, Content-Disposition, Content-Description');
我在下面使用代码在角,
当我与邮递员检查它运作良好,没有任何问题。当检查与角度误差就这样产生,
XMLHttpRequest cannot load http://localhost:97/sencogold/index.php/Adminaccount_api/login_adminuser. Request header field Authorization is not allowed by Access-Control-Allow-Headers in preflight response.
如果我假休息权威性和删除授权头是没有工作以及检查API的用户名和密码
$config['rest_auth'] = FALSE;
,并在角
this.headers = new Headers();
//this.headers.append('Authorization', 'Basic ' + btoa('lmxretail:[email protected]'));
this.headers.append('Content-Type', 'application/x-www-form-urlencoded');
请帮助任何人申请认证我的api。
检查服务器配置。头允许或不允许。 –
将“Access-Control-Allow-origin”插件添加到chrome中以解决此问题,但它不是永久性解决方案。 –
[如何创建跨域请求(Angular 2)?](https://stackoverflow.com/questions/34790051/how-to-create-cross-domain-request-angular-2) – echonax