1

クライアントが Web サイトで AJAX を使用して使用できる Web サービスを提供する必要があります。XSS 防止のため、彼らは私の Web サービスを呼び出すことができません。クライアントは、Web サービスにアクセスするためのプロキシを作成できません。

私は自分のサーバーに JavaScript ライブラリを作成して、サイトに含めることができるようにしようとしています。これにより、サーバー上の Web サービスが呼び出されます。どういうわけかうまくいかないようです。

サーバーは Google App Engine にあります。

問題は、サーバー上でバックエンドを使用し、リモート ユーザーが使用できる JavaScript ライブラリをサーバー上で作成するにはどうすればよいかということです。グーグルマップのjs APIのように動作しますか?

4

2 に答える 2

1

代わりにクロスオリジンリソースシェアリングを使用する必要があります。WebサービスにCORShttpヘッダーを設定するだけです。

Access-Control-Allow-Origin: http://clientsite.com http://client.website.com

同一生成元ポリシーはドキュメントの起源に依存しているため、JavaScriptライブラリを提供しても役に立ちません。

于 2012-07-26T17:27:21.717 に答える
0

2 つの可能性:

  • JavaScriptライブラリにサーバーを指すiframeを作成させます。その iframe で実行されているコードとサードパーティ サイトの間で、使用しているブラウザーに最適なクロスページ通信を介して通信します。Google の Closure ライブラリには、これに非常に適したCrossPageChannelというクラスがあります。ロジックの大部分を iframe に配置します。これは、iframe 境界を越えて渡すメッセージによって明確に定義されていないことをサードパーティ サイトが実行するのを防ぐため、便利です。

  • JSONPを使用してサーバーからデータを取得し、すべてのロジックを JavaScript ライブラリに保持します。

于 2012-07-26T21:30:48.320 に答える