ホームページ > ウェブフロントエンド > jsチュートリアル > AJAX とサーバー側プロキシを使用してクロスドメイン データを取得するにはどうすればよいですか?

AJAX とサーバー側プロキシを使用してクロスドメイン データを取得するにはどうすればよいですか?

Barbara Streisand
リリース: 2024-11-27 05:29:24
オリジナル
291 人が閲覧しました

How Can I Retrieve Cross-Domain Data Using AJAX and a Server-Side Proxy?

AJAX クロスドメイン データ取得

クロスドメイン URL (例: "http: //www.google.com")、ブラウザは直接の取得と表示を禁止するクロスドメイン ポリシーを適用します。

考えられる解決策の 1 つは、AJAX リクエストで「jsonp」dataType を利用することです。これにより、外部ドメインからデータを受信できる可能性がありますが、受信したデータの非 JSON 形式が原因で構文エラーが発生する可能性があります。

これらの制限を回避する最も現実的なアプローチは、サーバーを使用することです。 -サイド言語をプロキシとして使用します。これには、クロスドメイン URL を独自のサーバー上のスクリプト (「proxy.php」という名前の PHP スクリプトなど) に送信することが含まれます。その後、外部ドメインからデータが取得され、AJAX 呼び出しに戻されます。

jQuery と PHP プロキシを使用した例を次に示します:

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']);
ログイン後にコピー

このプロキシ機構を利用することで、データを取得して表示できます。クロスドメイン ポリシーの制約内でクロスドメイン ソースから。ただし、外部ドメインからデータをスクレイピングする際の制限と潜在的な影響に留意することが重要です。

以上がAJAX とサーバー側プロキシを使用してクロスドメイン データを取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート