2012-05-03 11 views
2

私はこれについて読んでみましたが、どこから始めるべきかわからないので、誰かが私に正しい方向を向けることを望んでいます。jQuery ajaxを使用して外部のウェブサイトのデータをリクエストする

私は基本的にjQuery ajaxを使用して外部Webサイトを読み込み、そこからリンクリストを取得しようとしています。今のような特別な理由はなく、私はそれを行うことで自分自身に挑戦できるかどうかを見たいと思っていました。

私は同じ起源ポリシーについて少し読んで、それを理解していますが、いくつかの指針で理解できます。

これは可能ですか?たとえば、Kate Spanosが使用しているスクラブルポイントの計算機を見てきました。彼女のjQueryコードには、辞書のウェブサイトをチェックし、出力の一部を処理するように見えるいくつかのajaxが含まれています。

誰かが正しい方向に向いていると思いますか、間違ったツリーを吠えていて、他の技術的な知識がなければ基本的にできません。

おかげで、私はできるだけ優しくしてください 'のnoob' だ マット

PS。私たちは皆、このようなものでどこかを始めなければならないので、私を撃たないでください...事前に感謝します。

+1

このタイプのリクエストには、CORSをサポートする外部Webサーバー、またはYQLやサーバーサイドスクリプトなどの同じ起点ポリシーを回避するための何らかの種類のプロキシが必要です。 –

答えて

3

あなたは、例えば、サードパーティのサイト

にアクセスするためにcURLのか、のfile_get_contentsを使用してPHPスクリプト(そう同じ起源)のように、仲介のいくつかの並べ替えをJSONPに見て、またはそれ以上の可能性が使用する必要があります

<?php 
$file=file_get_contents('http://some_domain_not_yours.com/somefile'); 
echo $file; 
?> 
をこれらを参照
+0

そして、実行するのに十分な簡単なスクリプトは何ですか?私はPHPで何も経験していませんが、確かに私はそれをすばやく拾うことができます。 –

+0

あなたのニーズに応じて非常にシンプルにすることができます、私はサンプルスクリプトを追加しましたが、あなたのAJAX要求'$ _POST'、' $ _GET'、 '$ _REQUEST'を見てください。 –

+0

ああ、サイトによってはURLをチェックするので他のサイトからのアクセスが禁止されているので完璧な解決策ではありません –

0

あなたは、PHP経由でPHPすなわちロードを経由して、これを行う必要があり、外部のサイトを含めると、あなたのPHPでそれを解析するよりも。

jQueryを使用してこれを行うことはできません。基本的に、クライアント側でリモートコンテンツを取得することはできません。クライアントがリモートコンテンツに自由にアクセスできる場合は、SOPのデータアクセスを制御することはできません。コンテンツ管理とフィルタリングを保証するためには常にサーバーが必要です。これはサーバーまたはリモートサーバー(APIプロバイダ)。これを保証するには、ドメイン間でのみJSONオブジェクトを共有できます.JSONオブジェクトはPHPなどで作成されるオブジェクトであるため、サーバースクリプトなしでJSONオブジェクトを取得することはできません。もう1つの方法(サーバー間)は、サーバーがリモートコンテンツを取得してから、クライアントに好きな形式で送信することです。

関連する問題