0

私は新しい Web 開発者ですが、かなり一般的なシナリオであると思われるものに遭遇しています。

www.mysite.com に Web サイト (localhost からのテスト) があり、クライアントは data.mysite.com でホストしている REST サービス (テスト バージョンを使用していないライブ サービス) から JSON オブジェクトを要求しています。JQuery の $.ajax() 関数を使用してこのリクエストを作成しています。これを試みると、応答ヘッダーにこのドメイン (localhost) の Access-Control-Allow-Origin 構成を含める必要があるという通知が (クロムで) 表示されます。

私は掘り下げて、これを解決する方法がいくつかあることを理解しました。どれが自分にとって最も理にかなっているのだろうかと思っています。

Access-Control-Allow-Origin ヘッダー情報を HTTP 応答に追加します。

これはブラウザにとらわれないので嫌いです。また、標準が進化するにつれてメンテナンスが面倒になる可能性もあります。

JSONP リクエストを行う

これは標準的な答えのように思えますが、REST サービス パターンとうまく調和しているようには見えず、システム エンジニアリング/デスクトップ アプリケーション開発プラットフォームに由来するものは、汚いハックのように感じられます。

すべてのオフサイト リクエストをローカル ドメイン経由でルーティングする

私の代わりにサーバーにリクエストを行わせるには、2 つの大きな問題があります。1 つは、1 つの非同期レイテンシを誘発する呼び出しを 2 つにすることです。もう 1 つは、REST サービスの API が変更された場合、それに応じてローカル実装を進化させる必要がある可能性があることです。これは、メンテナンスが 2 倍になることを意味します。

その他のオプション?

この種のシナリオを処理するための他のアイデアや提案が StackOverflow にあることを心から願っています。この種のクロスサイト呼び出しの依存関係。

4

1 に答える 1

0

私は最終的に 2 つのドメインに参加し (両方を所有していたため)、両方をローカルでホストすることにしました。そうは言っても、CORSが最善の方法のように見えましたが、まだ新しいので、マイレージは異なる場合があります. また、私の 3 番目の提案に従ってプロキシを作成することは非常に実行可能でしたが、もちろん注意が必要でした。

于 2013-12-17T07:21:02.660 に答える