[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.」が出るのでどちらかでよい