私は私のウェブサイトでCometChat
を使用していますが、最近、ユーザーはメッセージの受信でこの問題を抱えています。 FireBugで検査した後、スクリプトが失敗しているのはCORS保護(次のエラーによる)が原因であるに違いないことに気付きました。
Cross-Origin Request Blocked:Same Origin Policyは、 http://x3.chatforyoursite.com/subscribe/ ...でリモートリソースの読み取りを許可しません。これは、リソースを同じドメインに移動することで修正できます。またはCORSを有効にします。
今、CORSは自分のサーバーで有効になっており、CometChat
サーバーにアクセスできないため、どこでCORSを有効にする必要があるのか疑問に思っています。
x3.chatforyoursite.com
のサーバーは、次のヘッダーを出力する必要があります。
Access-Control-Allow-Origin: http://www.example.com
ここで、http://www.example.com
はWebサイトのアドレスです。 chatforyoursite.com
の設定をチェックして、これを有効にできるかどうかを確認する必要があります。そうでない場合は、おそらく技術サポートがこれを解決する最良の方法でしょう。ただし、質問に答えるには、サイトがAJAX応答クライアント側にアクセスできるようにするリモートサイトが必要です。
CORSのユースケースは簡単です。サイトalice.comに、サイトbob.comがアクセスしたいデータがあると想像してください。このタイプのリクエストは従来、ブラウザの同じOriginポリシーでは許可されていませんでした。ただし、CORS要求をサポートすることにより、alice.comはbob.comがデータにアクセスできるようにするいくつかの特別な応答ヘッダーを追加できます。それをよく理解するには、このニースチュートリアルをご覧ください。 CORSの問題の解決方法