[PHP] ‘has been blocked by CORS policy’の解決方法

異なるドメインからAjaxを利用する場合、取得したいファイルが 同一ドメイン上に存在していないと’has been blocked by CORS policy’エラーが発生してやりとりできない

こちらはサーバ側の問題なので、サーバ側でヘッダ情報( Access-Control-Allow-Origin)を追加すれば良い

PHPを使用してJSONを返す場合、下記のどちらかをPHP内に組み込む

//特定のドメインからのリクエストを許可
header("Access-Control-Allow-Origin: [リクエスト許可するドメイン]");

//すべてのドメインからのリクエストを許可
header("Access-Control-Allow-Origin: *");

もしApache側でも同じように

Header set Access-Control-Allow-Origin *

などのOptionをつけているとCORS許可が重複するという別のエラー「header contains multiple values ‘*, *’, but only one is allowed.」が出るのでどちらかでよい

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です