2016-12-30 8 views
1

投稿リクエストを送信すると、サーバは次のエラーを表示します。 'XMLHttpRequestはhttp://localhost/pets2homeback/public/registerをロードできません。要求ヘッダーフィールドX-XSRF-TOKENは、プリフライト応答でAccess-Control-Allow-Headersによって許可されていません。 あなたの投稿に追ってきましたが、このX-XSRF-TOKENをAccess-Control-Allow-Headersで許可することができず、ルートがレジスタでトークンがないため問題が実際に分かりません。私は問題がどこにあるのか本当に分かりません。X-XSRF-TOKENはヘッダーで許可されていません。Laravel 5.3 + Angular2

これは、これは私のcors.php

/** 
* Handle an incoming request. 
* 
* @param \Illuminate\Http\Request $request 
* @param \Closure $next 
* @return mixed 
*/ 
public function handle($request, Closure $next) 
{ 
    return $next($request) 
     ->header("Access-Control-Allow-Origin","*") 
     ->header('Access-Control-Allow-Headers', '*') 
     ->header('Allow', 'GET, POST, PUT, DELETE, OPTIONS') 
     ->header('Access-Control-Allow-Methods', 'GET, POST, PUT, DELETE, OPTIONS'); 
} 

}

と、これはLaravelの私のroutes.php(である私のkernel.php(重要ポイント)

protected $middleware = [ 
\Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode::class, 
\Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode::class, 
\App\Http\Middleware\EncryptCookies::class, 
\Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class, 
\Illuminate\Session\Middleware\StartSession::class, 
\Illuminate\View\Middleware\ShareErrorsFromSession::class, 
\App\Http\Middleware\Cors::class, 
\App\Http\Middleware\VerifyCsrfToken::class]; 

です5.3はweb.phpです)

header('Access-Control-Allow-Origin','http://localhost'); 
header('Access-Control-Allow-Credentials', 'true'); 
Route::get('/', '[email protected]'); 
Route::post('/login', [ 'uses' => '[email protected]']); 
Route::post('/register', [ 'uses' => '[email protected]']); 

これはAngular2での私のサービスです。

register(input){ 
let params = JSON.stringify(input); 
let headers = new Headers({'Content-Type':'application/x-www-form-urlencoded; charset=UTF-8'}); 
return this._http.post(this.url+"register", params,{headers: headers}) 
    .map(res => res.json()) 

}

答えて

1

私は同じ問題に実行していました。 Laravelではなく、PHPのバックグラウンドを持っています。

header('Access-Control-Allow-Headers: Content-Type, x-xsrf-token, x_csrftoken'); 

角度だけXSRF-Tokenを使用していますが、どういうわけか、私は両方を定義する必要がありました:。このようなヘッダーを定義することでした私のための問題を解決して何

希望します。

関連する問題