1
私は今このエラーが発生していますが、Angular(1.6.1)アプリで作業しています。 symfony 3で書かれています)。 私はpostメソッドでプリフライトエラーが発生しました。これはリクエストのヘッダーを変更して解決することができました。CORSプリフライトチャンネルがDELETEメソッドで成功しませんでした
class CorsListener {
public function onKernelResponse(FilterResponseEvent $event)
$response = $event - > getResponse();
$responseHeaders = $response - > headers;
$responseHeaders - > set('Access-Control-Allow-Headers', 'origin, content-type, accept, X-Requested-With ');
$responseHeaders - > set('Access-Control-Allow-Origin', '*');
$responseHeaders - > set('Access-Control-Allow-Credentials', 'true');
$responseHeaders - > set('Access-Control-Allow-Methods', 'POST, GET, PUT, DELETE, PATCH, OPTIONS');
$event - > setResponse($response);
}
}
の.htaccessライン役に立つことができます:
<ifModule mod_headers.c>
Header always set Access-Control-Allow-Origin: "*"
Header always set Access-Control-Allow-Headers "origin, x-requested-with, content-type, Access-Control-Allow-Origin"
Header always set Access-Control-Allow-Methods "POST, GET, PUT, DELETE, OPTIONS"
APIからCorsListenerがあり
$http.delete('http://localhost:8000/utilisateurs/2').then(function(response) {
$location.path('/register');
})
:
は今ここにAPIへの私の呼び出しです
リクエストはOPTIONとして送信され、この動作は次のように変更できません:https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS。
mod_headersは本当に私のApacheのconf内でアクティブになっています。私は実際に何をすべきか分かりません。