2012-02-25 13 views
0

他のウェブサイトにある要素からコンテンツを取得します。次に、そのコンテンツを同じサーバー上にある別のWebサイトに表示します。jQuery(クロスドメイン)を使用して他のウェブサイトからすべてのコンテンツを取得

私はYQLプラグインとjQueryでそれを得ることができますが、私はすべての要素からではなく、いくつかの要素からコンテンツを得ることができます。

どのようにすべての要素からコンテンツを取得できますか?

PHPを使用してすべてのコンテンツをロードしてからjQueryで結果を表示する必要があると言われました。どうやってするの?

+0

あなたはIFrameを試しましたか? :) – dbrin

+0

聞いたことがない?それはプラグインですか? – Bayu

+1

LOL - あなたは私の一日を作った: – dbrin

答えて

0

サーバーサイド言語を使用するオプションがある場合は、プロキシを作成して、プロキシにそのWebサイトを呼び出してxml形式またはjson形式で結果を返すことができます。 PHPファイルが

proxy.php

<?php 
function get_url_contents($url){ 
     $crl = curl_init(); 
     $timeout = 5; 
     curl_setopt ($crl, CURLOPT_URL,$url); 
     curl_setopt ($crl, CURLOPT_RETURNTRANSFER, 1); 
     curl_setopt ($crl, CURLOPT_CONNECTTIMEOUT, $timeout); 
     $ret = curl_exec($crl); 
     curl_close($crl); 
     return $ret; 
} 

    $url = “http://www.howtogeek.com”; 
    $str = file_get_contents($url); 

    echo $str; 
?> 

クライアント側

$.ajax({ 
url:'proxy.php', 
dataType:'text\xml', 
success:function(data){//success handler 
//if the data is in xml format parse it using $.parseXML 
//do something 
}, 
error:function(jxhr){ //error handler 
    console.log(jxhr.responseText); 
} 
}); 

上記のコードは、デモンストレーションのみを目的としており、クロスドメインからデータをフェッチし、そのファイル内にそれをproxy.php呼んで作ります私は助けを得ましたhere

+0

ありがとう、私はそれを試し、後で結果を知らせます – Bayu

+0

OKそれを試しました。すべての内容を返すわけではありません。結果はYQLと同じですが、一部のコンテンツのみが取得されます。 – Bayu

関連する問題