2


0

jQueryのロード方法:外部ドメインをロードしますか?

jQueryのloadメソッドを使用して、外部Webサイトをページの「div」に読み込むことはできますか?

$('#content').load('http://www.somedomain.com/server/whatever/file.php');

それは私のために働いていません!

4 回答


2


jQuery.loadページから:

_ ブラウザのセキュリティ上の制限により、ほとんどの "Ajax"要求は同じ送信元ポリシーに従います。要求は、異なるドメイン、サブドメイン、またはプロトコルからデータを正常に取得できません。 _

http://en.wikipedia.org/wiki/Same_origin_policy [同一オリジンポリシー]


1


ブラウザのセキュリティ制限のため、できません。 プロキシを使用してください。


1


@Giorgiが言うように、クロスサイトコールは多くの場合、セキュリティ制限のためにブロックされます。 ただし、リモートサイトがhttp://en.wikipedia.org/wiki/JSONP#JSONP[JSONP]を返す場合、呼び出しはほとんどの場合機能します。

他の電話については、自分のサイトのページで電話する必要があります。 そして、そのページは、代わりにバックエンドで要求されたURLをフェッチするプロキシになる可能性があります。

$('#content').load('/myproxy.handler?url=http://www.somedomain.com/server/whatever/file.php');


0


PHPベースのプロキシスクリプトを使用して、@ Giorgiで説明されているセキュリティ制限を回避できる場合があります。

  • proxy.php *


次に、jQueryロードアクションを使用して、* proxy.php?url = http%3A // www.google.com / *などのページを呼び出します。

そうではなく、 `preg_replace()`アクションは大まかなドラフトにすぎません-いくつかの主要なテストと微調整を行って、この方法でサイトが混乱しないようにする必要があります。