2012-06-07 3 views
2

API에 대한 JSONP 호출을하려고하는데 API가 JSONP를 지원하는지 확실하지 않습니다. 어떻게 테스트 할 수 있는지 잘 모르겠습니다. 하지만 아래에는 불량 라벨 인 firebug 콘솔 오류가 나와 있습니다. 이것은 api가 JSONP를 지원하지 않는다는 것을 의미합니까? 내 호출에서 이것이 잘못된 것입니다.유효하지 않은 라벨의 JSONP 호출

다음은 api에 대한 나의 호출입니다. 클라이언트가 내가 URL

jQuery.getJSON("http://blaa.blaa.com/api/services?format=js&callback=?", 
    function (data) { 
     console.log("services data = ", data); 
    }); 

을주는 행복하지 않을 것이기 때문에 나는 불을 지르고에서 테스트 할 때 내가

{"services":{"service":[{"name":"tt"... 

servic...2711124 (line 1, col 1) 
+0

시도중인 실제 JSONP URL 또는 얻은 전체 응답을 JSONP가 반환하는지 여부를 알 수 있습니다. – jfriend00

답변

2

Invalid label는 것이다 오류입니다이 잘못된 라벨을 얻을 URL을 변경 JSONP 콘텐츠 (예 : 자바 스크립트 코드)로 제공 될 것으로 기대되는 것이 실제로 JSON 콘텐츠입니다.

이것은 JSON 개체 인 경우에도 유효하지 않습니다 자바 스크립트입니다 :

{block의 개방보다는 객체 리터럴로 취급하기 때문입니다
{'foo' : 'bar'} 

. 그런 다음 'foo'label을 작성하려는 시도로 처리됩니다. 여기서 주변 인용 부호를 사용할 수 없습니다.

이것은 기본적으로 서버가 JSONP을 이해하지 못했거나 제대로 요청하지 않았 음을 알려주는 암호 메시지로 작동합니다 (일부 서버는 표준 callback= 이상의 추가 매개 변수를 요구합니다).