クロスドメイン AJAX リクエスト: 回避策の検討
AJAX は Web 開発に革命をもたらし、動的で対話型のアプリケーションを可能にしました。ただし、クロスドメイン HTTP リクエストを実行しようとすると、ブラウザーのセキュリティ対策が原因で一般的な障害が発生します。この記事では、この制限を克服し、外部ドメインからデータを取得するための代替ソリューションを検討します。
問題の説明
この質問は、次のような外部ドメインへの AJAX 呼び出しを直接実行できないことを強調しています。 「http://www.google.com」にアクセスし、自分の Web サイトで結果を取得します。 「jsonp」dataType の使用が解決策のように見えるかもしれませんが、受信したデータに JSON 形式がないため、構文エラーが発生します。
解決策: プロキシ サーバーの統合
推奨解決策には、サーバー側の言語をプロキシとして利用することが含まれます。このプロキシは仲介者として機能し、外部ドメインからデータを取得し、適切な形式でクライアント Web サイトに返します。 jQuery を使用した実装例を次に示します。
$.ajax({ url: 'proxy.php', type: 'POST', data: { address: 'http://www.google.com' }, success: function(response) { // response now contains full HTML of google.com } });
データを取得して返すための対応する PHP (proxy.php):
echo file_get_contents($_POST['address']);
iFrame に関する考慮事項
iFrame も同じクロスドメイン リクエスト ポリシーに従います。したがって、別のドメインから iFrame を埋め込むと、データを直接取得したり操作したりすることはできません。
結論
プロキシ サーバーを利用することで、相互接続をバイパスすることが可能です。 -ドメインの制限と、AJAX を使用した外部宛先からのデータの取得。この方法は簡単で効果的なソリューションを提供し、開発者が複数のドメインのコンテンツとシームレスに対話するアプリケーションを構築できるようにします。
以上がAJAX を使用して外部ドメインからデータを取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。