2010-12-10 3 views
1

나는 아래의 사용 songkick json feed을 잡아하려고 해요로 돌아 :도장 크로스 도메인 JSON 스크립트

var jsonpArgs = { 
    url: obj.url, 
    load: function(data) { 
     console.log(dojo.fromJson(data)); 
    }, 
    error: function(error) { 
     new ErrorDialog({ title: 'Error', content: error }); 
    } 
}; 
    dojo.io.script.get(jsonpArgs); 

그것은 데이터 벌금을로드하지만, 반환

Resource interpreted as script but transferred with MIME type application/json. Uncaught SyntaxError: Unexpected token :

이 예기치 않은 토큰이 오는 파일의 내용 (줄 1)에서 :

{ "resultsPage": 

나는 그것이 콘텐츠 comi 뒤는 json으로 제대로 해석되지 않지만 내가 뭘 잘못하고 있는지 알지 못합니다. 나는 콜백 매개 변수를 지정하려고 시도했지만 아무것도하지 않는다 (jsonp가 아닌)?

아이디어가 있으십니까?

답변

1

피드가 JSONP 응답을 지원하지 않는 것 같습니다. 겸손한 문서를 보면 콜백 (JSONP의 중요한 부분)을 지정하는 방법을 알지 못합니다. 그래서 분명히 오류가 발생했습니다 — JSONP가 <script>을 사용하여 데이터를 검색하지만 데이터 유형이 잘못되었습니다.

또 다른 것은 콜백 매개 변수 인 jsonp 매개 변수를 지정해야한다는 것입니다. 그러나 그것은 귀하의 피드 서비스가 그것을 지원하지 않기 때문에 논점과 같습니다.

그래서 가장 좋은 방법은 프록시 나 비슷한 것을 사용하여이 서비스에 대한 서버 측 호출을하는 것입니다. 이렇게하면 플랫폼 간 문제를 피할 수 있으며 JSON 또는 XML을 직접 처리 할 수 ​​있습니다.