1

Joomlaで実行されている Web サイトに埋め込まれた Web アプリを作成しています。クライアント側では、AngularJS を使用しています。Angular の$resourceオブジェクトは、クロス オリジン リソース共有のパターンに従います。つまり、OPTIONSリクエストを行う前にリクエストを行いますGET

Joomla ではtask、クライアントの要求を受信し、Joomla でいくつかの認証ロジックを実行し、データで応答するコントローラーの 1 つを持っています。簡単なGETリクエストをすると、これは適切に応答します。OPTIONSただし、リクエストを受け取ったときにJoomlaに適切な「OK」レスポンスを返す方法がわかりません。

これを実現するJoomla固有の方法はありますか? OPTIONSそうでない場合、プレーンな PHPを使用することにどのように対応できますか? 私の検索は空白を描いています。

(違いが生じる場合、これは最終的に同じオリジンのリクエストになります。開発プロセスではクロスオリジンのみです。ただし、Angular はOPTIONS関係なくリクエストを行うと思います。)

4

1 に答える 1

2

これは、CORS を機能させる方法の例です。

あなたがこのページ origin.com/test.php にいて、このページの JavaScript が target.com にリクエストを行ったとしましょう。

クロスオリジン リクエストを開始するために、ブラウザは Origin HTTP ヘッダーを使用してリクエストを送信します。このヘッダーの値は、ページを提供したドメイン ( origin.com ) です。したがって、この場合は次のようになります。

起源: http://origin.com

target.com が CORS をサポートしている場合、応答で Access-Control-Allow-Origin HTTP ヘッダーを使用して応答する必要があります。ヘッダーの値は、どのオリジン サイトが許可されているかを示します。

Access-Control-Allow-Origin: http://origin.com

すべてのドメインからのアクセスを許可するには、target.com が HTTP ヘッダーを送信する必要があります。

Access-Control-Allow-Origin: *

詳細: http://en.wikipedia.org/wiki/Cross-origin_resource_sharing

于 2013-07-18T22:04:13.453 に答える