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