投稿リクエストを送信すると、サーバは次のエラーを表示します。 '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())
}