Ajaxリクエストを送信しようとすると、Chromeでこのエラーが発生します。
Content-Type is not allowed by Access-Control-Allow-Headers
Firefoxではすべてが正常に機能します。
誰でもこの問題を解決するのに役立ちますか?
Apache Webサーバーの仮想ホスト構成に次の設定を追加する問題を解決しました
Header set Access-Control-Allow-Origin "*"
Header set Access-Control-Allow-Headers "Origin, X-Requested-With, Content-Type, Accept"
PHPのソリューション:
header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Methods: POST,GET,OPTIONS');
header('Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept');
(他のコンテンツの前に送信する必要があります)
ノードでCORS(クロスサイトHTTPリクエスト)を設定します。私にとっては、次のようになります:
app.use('/api', function(req, res, next) {
res.header('Access-Control-Allow-Origin', '*');
res.header('Access-Control-Allow-Headers', 'X-Requested-With, Content-Type');
next();
});
同じ問題が発生したため、次のヘッダーを追加して解決しました:Access-Control-Allow-Headers:content-type
nginxの
location / {
proxy_pass http://localhost:59100;
proxy_http_version 1.1;
# proxy_set_header Upgrade $http_upgrade;
# proxy_set_header Connection 'upgrade';
proxy_set_header Host $Host;
# Simple requests
if ($request_method ~* "(GET|POST)") {
add_header "Access-Control-Allow-Origin" *;
}
# Preflighted requests
if ($request_method = OPTIONS ) {
add_header "Access-Control-Allow-Origin" *;
add_header "Access-Control-Allow-Methods" "GET, POST, OPTIONS, HEAD";
add_header "Access-Control-Allow-Headers" "Authorization, Origin, X-Requested-With, Content-Type, Accept";
}
# proxy_cache_bypass $http_upgrade;
# add_header Access-Control-Allow-Origin *;
# add_header Access-Control-Allow-Headers Content-Type;
}
https://distinctplace.com/2017/04/17/nginx-access-control-allow-Origin-cors/ を参照してください
PHPを使用している私にとって、このヘッダー設定のみを設定しても、localyは機能します。
header('Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept');