phpでAccess-Control-Allow-Originエラーが表示される

javascriptやjQueryなどでリクエストをしていると
「No ‘Access-Control-Allow-Origin’ header is present on the requested resource.」
のようにエラーが表示されることが有ります。

たとえば、httpのページからhttpsのAPIでリクエストした場合に表示されるエラーです。
プロトコルが異なるため、アクセスが許可されていないためです。

PHPのヘッダーを設定する

対処法はphpのソースに以下のように設定します。

この場合は、誰からのアクセスも許可するという状態になります。
限定的なアクセスを設定したい場合は以下のように行います。

PHPでのレスポンス参考例

ob_clean()で余計な出力を削除します。
後は、通常のレスポンス処理となります。
※jsonをレスポンスした時の例です。

あわせて読みたい

コメントを残す

Translate »
%d人のブロガーが「いいね」をつけました。