2

私はGWTベースのプロジェクトで作業しており、RPCリクエストを単独で作成することに慣れています。新しいプロジェクトを作成し、RequestBuilderを使用してGWTクライアントでクロスサイトリクエストを作成しようとしましたが、機能させることができませんでした。

私はGWTがあまり得意ではありません。したがって、新しいプロジェクトとその設定を作成する方法と、GWTクライアントからクロスサイトリクエストを作成するためのコード(RPC呼び出しを完全に削除する)を教えてください..?

私はグーグルとスタックオーバーフローを経験しましたが、このトピックに関する完全なことはありません。それは私が望むすべての人にとって本当に役立つでしょう。

4

2 に答える 2

4

CORSをサポートするブラウザーのみをサポートする場合(少なくともIE10がリリースされるまではIEを除外します)、RequestBuilderいつものように、またはGWT-RPCを使用できます。
カスタムリクエストヘッダーを使用する場合、サーバーは、リクエストAccess-Control-Allow-Originに応答して適切なヘッダーを返送することにより、クライアントアプリケーションがこれらのクロスオリジンリクエストを実行できるようにする必要がありOPTIONSます(CORSではプリフライトリクエストと呼ばれます)。

IEをサポートしたい/必要があり、リクエストを行う必要がある場合は、とを使用して応答をクライアントに返すPOST以外に選択肢はありません(最も簡単なのは同じページにリダイレクトすることです) FormPanelGWTアプリとしてのorigin、クエリ文字列で結果を渡します)。

GETsの代わりにsを実行できるPOST場合は、JsonpRequestBuilder(そしてもちろん、JavaScriptで応答するようにサーバーコードを調整する)を使用できます。

于 2012-06-06T08:05:07.680 に答える
3

応答ヘッダーで「AccessControlAllowOrigin http://myexample.com 」を設定することで、クロスサイトリクエストを行うことができます。ブラウザから応答にアクセスできるようになります。詳細情報 https://developer.mozilla.org/en/http_access_control

于 2012-07-19T10:15:54.787 に答える