使用jQuery从其他网站获取所有内容(跨域)

时间:2012-02-25 05:50:23

标签: php javascript jquery

我想从其他网站上的元素中获取内容。然后我想将该内容显示在同一服务器上的另一个网站上。

我可以使用YQL插件和jQuery来获取它,但我只能从某些元素中获取内容,而不是从所有元素中获取内容。

如何从所有元素中获取内容?

有人告诉我,我必须首先使用PHP加载所有内容,然后使用jQuery显示结果。怎么做?

1 个答案:

答案 0 :(得分:0)

如果您可以选择使用服务器端语言,那么您可以创建代理,让代理调用该网站并以xml或json格式将结果返回给您。制作一个php文件,在该文件中调用proxy.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);
 }
});

上述代码仅用于演示目的,我已从here

获得帮助