我正在爲我的服務器應用程序使用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