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 サイトの他の関連記事を参照してください。