2011-10-20 3 views
0

RSS 피드를 json으로 변환 할 수있는 this site이 있습니다. 또한 콜백을 지정하는 방법을 제공하므로 사용자가이 웹 서비스에 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 : "콜백", jsonpCallback : "?", param : "콜백"및 기타 값도 시도했지만 성공하지 못했습니다. 서버 측 스크립팅 언어 (aps, PHP 등 없음)를 지원하지 않는 자바 스크립트 만 사용해야합니다. 누군가이 사이트에서이 서비스를 사용하고 있습니까? 모든 제안은 정말 감사하겠습니다!

답변

1

가 업데이트 : 여기

은 당신의 코드를 작동하는 예입니다 :

jsfiddle

를 참조하십시오

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

문제는 내가 돌아 JSON 일부 자바 스크립트 오류가 발생할 수 있다는 것입니다

+0

당신이 내 질문을 읽나요 http://www.blastcasta.com/feed-to-json.aspx?feedUrl=http%3A//xml.corriereobjects.it/rss/homepage.xml&param=rssFeed는 다음과 같은 응답을 반환합니다? PHP를 사용할 수 없기 때문에 예제와 함께 제공되는 기본 프록시를 사용할 수 없습니다. – andreapier

+0

죄송합니다. 내 게시물을 업데이트했습니다. –

+0

감사합니다. 웹 마스터에게 연락하여 xml-to-json- 변환기를 수정하겠습니다. – andreapier

3

jQuery JSON API는 BlastCas를 제공하는 JSON 응답에 적합하지 않습니다. 타 서비스. JSON을 URL에 지정된 맞춤 변수에 할당하고 JSONP가 작동하는 콜백 기능을 사용하지 않습니다. 예를 들어,이 URL :

그래서, 스크립트 삽입 기술을 사용할 수있다
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 스크립트를 반환합니다. –