2011-10-20 10 views
0

RSSフィードをjsonに変換することを可能にするthis siteが見つかりました。 また、コールバックを指定する方法も提供されているので、ユーザーはこのWebサービスに対してjsonp呼び出しを行うことができると思います。 しかし、私はそれを行うにはさまざまな方法を試しましたが、どれもうまくいきませんでした。 、成功のハンドラが実行されないものは何でもやってみjqueryとajaxでRSSフィードを取得する

$(document).ready(function() { 
    $.ajax({ 
     type: "GET", 
     url: 'http://www.blastcasta.com/feed-to-json.aspx', 
     dataType: "jsonp", 
     jsonpCallback: "loadRSS", 
     data: { 
      feedUrl: 'http://xml.corriereobjects.it/rss/homepage.xml', 
      param: "callback" 
     }, 
     success: function (data) { 
      var list = ""; 
      for (var propertyName in data) { 
       list+=data[propertyName]; 
      } 
      console.log(list); 
     }, 
     error: function(xhr, ajaxOptions, thrownError){ 
      alert(ajaxOptions) 
     } 
    }); 
}); 

: はここに私のコードです。私は代わりにエラーハンドラを取得します。 私はjsonpCallbak: "callback"、jsonpCallback: "?"、param: "callback"などの値も試しましたが、成功しませんでした。 私は、サーバーサイドのスクリプト言語(aps、PHPなどはありません)をサポートしていない唯一のjavascriptを使用する必要があります 誰かがこのサービスを自分のサイトで利用していますか? 提案は本当にありがとうございます!

答えて

1

更新:

ここにあなたのコードのために動作例を示します

$.getJSON("http://www.blastcasta.com/feed-to-json.aspx?feedUrl=http://xml.corriereobjects.it/rss/homepage.xml&param=?", function(data) { 
    console.dir(data); 
}); 

問題は、私はJSONを返すと、いくつかのJavaScriptのエラーが出ていること、である:

このjsfiddle

を見ます
+0

あなたは私の質問を読んでいましたか? 私はPHPを使うことができないと書いています。だから、例で提供されている基本的なプロキシを使うことはできません。 – andreapier

+0

申し訳ありません投稿を更新しました –

+0

webmasterに連絡してxml-to-json-converterを修正するように依頼します – andreapier

3

jQuery JSON APIは、BlastCasを提供するこの種のJSON応答には適していませんサービス。 URLで指定されたカスタム変数にJSONを割り当て、JSONPが動作するコールバック機能を使用しません。たとえば、このURL: http://www.blastcasta.com/feed-to-json.aspx?feedUrl=http%3A//xml.corriereobjects.it/rss/homepage.xml&param=rssFeedが応答以下を返します:だから

rssFeed = { "rss": { "channel": /*...*/}} 

、スクリプトインジェクションの技術を使用することができる。

/* URL of the BlastCasta service and his parameters: 
    feedUrl :== escaped URL of interest (RSS Feed service) 
    param :== javascript variable name which will receive parsed JSON object */ 
var url = "http://www.blastcasta.com/feed-to-json.aspx" 
    +"?feedUrl=http%3A//xml.corriereobjects.it/rss/homepage.xml" 
    +"&param=rssFeed"; 

/* since the service declares variable without var keyword, 
    hence in global scope, lets make variable usage via window object; 
    although you can write param=var%20rssFeed" in the URL :) */ 
window.rssFeed = null; 

$.getScript(url, function() { 
    /* script is loaded, evaluated and variable is ready to use */ 
    console.dir(window.rssFeed); 

    /* some feeds are huge, so free the memory */ 
    window.rssFeed = null; 
}); 
+0

BlastCastaは技術的にJSON応答を返しません。代わりにJSスクリプトを返します。 –

関連する問題