0

イントラネットのサーバーから外部WebページのサーバーにPOSTリクエストを送信する必要があります。jquery .postメソッドを使用して、これをchromeで実行できましたが、IEでは機能しません。調査とテストを通じて、別のサーバーのページに投稿を送信しているという問題を特定しました。IEでこれを回避する方法はありますか?

4

1 に答える 1

1

はい、必ずできます。

最新のブラウザーでは、クロス ドメイン ajax が大きなセキュリティ リスクであるため、制限されています。ただし、それを行う方法があります。

まず、データを投稿したいサーバーに ajax リクエストを含む .js ファイルを配置します。

次に、現在のサイトにファイルを含めます。つまり、投稿したいサイトにファイルを含めますが、ファイルを同じドメインに保持せず、ドメインから投稿したい場所にリンクします。

js ファイルのコードを使用して ajax リクエストを作成すると、準備完了です。

  • この話の本質は、ウェブページがそのページが属するドメインによって所有されている、またはそのドメインを管理している場所にデータを投稿していることを確認するために、そのような制限が設けられていることです。

別の方法は、この回答で説明されているように、これらのディレクティブによってクロスドメイン ajax を明示的に許可することです

Access-Control-Allow-Origin: http://yourdomain-you-are-connecting-from.com/
on target server

PHPで:

 header("Access-Control-Allow-Origin: http://yourdomain-you-are-connecting-from.com/");

そしてあなたの .htacess ファイルに追加します

Header set Access-Control-Allow-Origin: http://yourdomain-you-are-connecting-from.com/
于 2012-12-19T14:43:07.547 に答える