1

他のウェブサイトからdiv内のデータを取得したい。JavaScriptを使用してそれを行うにはどうすればよいですか?

4

2 に答える 2

8

ドメイン間の制限により、AJAXを使用してHTMLに直接アクセスすることはできません。

ただし、を使用Yahoo YQLして、必要なページの部分を選択し、そのhtmlをjsonpデータ内に返すことができます。

stackoverflowのメインページに質問のリストを返す例

var url='http://query.yahooapis.com/v1/public/yql?q=select * from html where url=\'http://stackoverflow.com/\' and xpath=\'//div[@id="question-mini-list"]//h3//a\'&format=json&callback=?';


$.getJSON( url, function(data){
    $.each(data.query.results.a, function(){       
        $('body').append('<div><a href="http://stackoverflow.com'+this.href +'">'+this.content+'</a></div>')          
     })
})

デモ:http://jsfiddle.net/NTUx5/

YQLドキュメント:http ://developer.yahoo.com/yql/guide/index.html

編集:これはもう機能しません。

于 2013-01-26T15:49:37.000 に答える
-1

jungalistが上で提案したように、JSONP手法を使用する必要があります。または、AJAXメソッドにcURLを使用するローカルPHPスクリプトと通信させます。

jQuery:

$('#result').load('path/to/script.php');

PHP:

$ch = curl_init("http://example.com");
curl_exec($ch);
curl_close($ch);
于 2013-01-26T14:32:40.660 に答える