2

私はこれについて読んでみましたが、どこから始めればよいのかよくわかりません。誰かが私を正しい方向に向けてくれることを願っています。

基本的に、私はjQuery ajaxを使用して外部Webサイトを読み取り、そこからリンクのリストを取得しようとしています。現時点では特に理由はありませんが、やってみて自分に挑戦できるかどうかを知りたかっただけです。

そうすることで、私は同一生成元ポリシーについて少し読んでそれを理解しましたが(ある種)、いくつかのポインターで行うことができます。

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

誰かが私を正しい方向に向けることができますか、それとも私が間違った木を吠えているので、他の技術的な知識がなければ基本的に不可能です。

ありがとう、マット

PS私は「初心者」ですので、できるだけ優しくしてください。私たちは皆、どこかでこのようなものから始めなければならないので、私を撃墜しないでください...よろしくお願いします。

4

3 に答える 3

3

JSONP を調査するか、cURL または file_get_contents を使用してサード パーティのサイトにアクセスする PHP スクリプト (同じオリジン) など、何らかの仲介を使用する可能性が高くなります。

例えば:

<?php
$file=file_get_contents('http://some_domain_not_yours.com/somefile');
echo $file;
?>
于 2012-05-03T20:18:15.110 に答える
0

これは、PHPを介して行う必要があります。つまり、PHPを介してロードするには、外部サイトを含めてから、PHPで解析する必要があります。

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

于 2012-05-03T20:29:30.043 に答える
0

これらを参照してみてください。

jqueryを使用したjsonp

http://www.ibm.com/developerworks/library/wa-aj-jsonp1/

http://api.jquery.com/jQuery.getJSON/#jsonp

于 2012-05-03T20:27:55.577 に答える