2

別のサーバー (同じドメインとボックス、別のポート) に ajax 呼び出しを行いたいと思います。

マイページは

http://localhost/index.html

ajax get リクエストを次のようにしたいと思います。

http://localhost:7076/?word=foo

このエラーが発生しています:

制限された URI へのアクセスが拒否されました (NS_ERROR_DOM_BAD_URI) 

別のドメインに ajax リクエストを送信できないことはわかっていますが、これには別のポートも含まれているようですか? 回避策はありますか?

4

4 に答える 4

4

ポート 80 サーバーに特定のページを作成し、他のポートへのプロキシ リクエストを送信します。例えば:

http://localhost/proxy?port=7076&url=%2f%3fword%3dfoo

最後のクエリ文字列引数値の URL エンコードに注意してください。

于 2008-09-11T19:41:31.690 に答える
1

JSONP を使用できます。これは、リクエストでコールバックを指定する場所です。ajax リクエストからのレスポンスは、コールバック関数名でラップされます。XmlHttpRequest を使用する代わりに、URL を含むタグを HTML ドキュメントに挿入します。次に、応答が取得されると、コールバック関数が呼び出され、データがパラメーターとして渡されます。

例については、このブログ投稿を確認してください

于 2008-09-11T19:43:30.670 に答える
0

これはブラウザの制限です。すべての JavaScript 呼び出しは、スクリプトのホームの同じサーバーおよびポートに対して行う必要があります。これを回避するには、サーバー側で何かが必要になります。IE のプロセスでlocalhost、リクエストを に転送しlocalhost:7076ます。

于 2008-09-11T19:43:57.690 に答える
0

それは悪いですが、必要です...基本的にあなたがする必要があるのは、ローカルプロキシを介してAJAXリクエストをプロキシすることです-いくつかのサーバー側スクリプト/ページ/あなたがいる同じドメイン上のものは何でも-呼び出しを受け取り、それを他のリソースサーバー側に転送します。あなたができるいくつかのIFRAMEトリックがあるかもしれませんが、私はそれらがうまく機能しているとは思いません...しかし、しばらくの間、間違っている可能性があります.

于 2008-09-11T19:44:33.553 に答える