0

私は、jQueryとjFeedを使用して、rssを適切に解析する方法を模索しています。

同一生成元ポリシーのため、私はBBCの健康ニュースフィードをローカルページにプルしています(http://www.davidrhysthomas.co.uk/play/proxy.php)。

元々、これはproxy.phpjFeedダウンロードパッケージで利用可能なスクリプトとまったく同じでしたが、ホストが無効allow_url_fopen()になっているため、phpを次のように修正しました。

$url = "http://newsrss.bbc.co.uk/rss/newsonline_uk_edition/health/rss.xml";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$data = curl_exec($ch);

echo "$data";
curl_close($ch);

fopenこれは、私のローカルマシンでオリジナルと同じ/同等のコンテンツを生成するようです。

これでうまくいくようですが、jFeedスクリプトをページで機能するように設定することを検討していますが、恥ずかしいことに、その方法がわかりません。

少なくとも、これでうまくいくはずだと理解しています。

jQuery.getFeed({
   url: 'http://www.davidrhysthomas.co.uk/play/proxy.php',
   success: function(feed) {
      alert(feed.title);
   }
});

...しかし、あなたが予想しているように、そうではありません。そこにある非出力は、ここで閲覧できます。http://www.davidrhysthomas.co.uk/play/exampleTest.html。そして、私は正直にそれについて何をすべきかについての手がかりを持っていません。

誰かがいくつかの指針、ヒント、ヒントを提供することができれば、またはピンチで、頬の周りをすばやく叩き、「一緒に引っ張ってください!」よろしくお願いします...

よろしくお願いします=)

4

3 に答える 3

1

Zend Frameworkには、あらゆる種類のフィードを消費するためのクラスがあります。

それはZend_Feedと呼ばれています

http://framework.zend.com/manual/en/zend.feed.html

于 2010-03-12T18:18:10.530 に答える
1

テストページには、間違っているように見えるスクリプトの行がいくつかあります...

<script type="text/javascript">

jQuery(function() {

   url: 'http://www.davidrhysthomas.co.uk/play/proxy.php',
   success: function(feed) {
      alert(feed.title);
   }
...

私はそれがもっと似ているべきだと思います...

<script type="text/javascript">

jQuery(function() {

   jQury.ajax( {
       url: 'http://www.davidrhysthomas.co.uk/play/proxy.php',
       success: function(feed) {
           alert(feed.title);
       }
   });
...
于 2010-03-12T17:06:32.743 に答える
0

PHPコードで、xmlヘッダーを見逃しました:

$url = "http://newsrss.bbc.co.uk/rss/newsonline_uk_edition/health/rss.xml";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$data = curl_exec($ch);
header("content-type: text/xml"); 
echo "$data";
curl_close($ch);
于 2011-03-17T15:11:52.483 に答える