2013-11-25 6 views
7

私はJSONドキュメントを生成するPHPファイルを持っています。ヘッダー( 'Access-Control-Allow-Origin:*'); CORSリクエストを許可しない

headerを次のように設定しましたが、まだエラーが発生しています。

header('Access-Control-Allow-Origin: *'); 
header('Content-Type: application/json'); 

エラーメッセージ:

No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'https://mysubdomain.mydomain.com' is therefore not allowed access.

私は明示的に

header('Access-Control-Allow-Origin: https://mysubdomain.mydomain.com'); 

を使用してmysubdomain.mydomain.comを許可しようとしました。しかし、私はまだエラーを取得します。

+0

リクエストを送信すると、Chromeのウェブインスペクタのネットワークタブにヘッダーが表示されますか?またはcurlコマンドラインを使用していますか? – Munim

+0

ありがとう、コマンドラインからcurlを使用することで、私は問題を診断できました。それは実際にPHPコードのエラーであり、後でその問題を引き起こしていました。 – Luke

+0

ようこそ。最初に出力をチェックしデバッグすることを常に忘れないでください。あなたがそれを受け入れてこの質問を閉じることができるように、私は答えとして自分のコメントを投稿しました。 – Munim

答えて

6

ヘッダーを設定するコードには何も問題はありませんが、ヘッダーが実際に設定されているかどうかを確認したい場合があります。 curl -i http://yourappを使用して、送信する応答ヘッダーをデバッグするのを確認します。また、Google Chromeのウェブインスペクタの[ネットワーク]タブ、またはFirefoxのWeb開発ツールの[ネットワーク]ツールを使用することもできます。

+0

私は同じ問題に直面しています。ネットワークツールで役立つものはありませんでした。ただし、カールコール中は 'Access-Control-Allow-Origin:*'と表示されます –

0

このような状況は、要求されたページでエラーが発生した場合に発生する可能性があります。この場合、エラーページはヘッダーを設定します。これには、Access-Control-Allow-Originヘッダーがない可能性があります。