2011-08-28 2 views
1

jquery와 jsonp를 사용하여 USA Today Census API json 서비스를 사용하려고합니다.USA Today Census API를 사용할 때 잘못된 라벨 오류가 발생했습니다.

{"request":{ 
     "keyname":"FIPS", 
     "keypat":"36069", 
     "sumlevid":"3", 
     "year":"2010"}, 
    "response":[ 



    {"Placename":"Ontario","PlacenameFull":"Ontario County, N.Y.","FIPS":"36069","GNIS":"974133","StateAP":"N.Y.","StatePostal":"NY", 
       "PctChange":"0.0768977", 
       "Pop":"107931","PctHisp":"0.03408700","PctNonHisp":"0.96591300","PctWhite":"0.93650600","PctNonHispWhite":"0.91835500","PctBlack":"0.02253300","PctAmInd":"0.00255700","PctAsian":"0.01043300","PctNatHawOth":"0.00022200","PctTwoOrMore":"0.01666800","PctOther":"0.01108100","USATDiversityIndex":"0.16165100","PopSqMi":"167.60000000","LandSqMi":"644.10000000","WaterSqMi":"18.50000000","TotSqMi":"662.50000000","Lat":"42.8566949000","Long":"-77.3032768000","HousingUnits":"48193","PctVacant":"0.10736000"}, 



    "End" 
    ]} 

방화범이 "잘못된 라벨"오류를 제공하고 반환하지 않습니다 : 내가 브라우저에서 URL, 유효한 JSON이 충돌하는 경우 여기에

var url = "http://api.usatoday.com/open/census/locations?api_key=yourapikeyhere&keyname=FIPS&sumlevid=3&keypat=36069&format=jsonp&callback=?"; 

     $.ajax({ 
      url: url, 
      dataType: 'jsonp', 
      type: 'GET', 
      contentType: "application/json; charset=utf-8", 
      success: function (result) { 
       console.debug(result); 
      } 
     }); 

는 반응이다 : 여기에 코드입니다 결과. 어떤 아이디어?

답변

2

JSONP를 지원하도록 서버를 업데이트했습니다. (이전에 해보았지만 방학에서 돌아왔다.)

+0

감사합니다. – Justin

0

사용중인 API가 JSONP를 지원하지 않는 것 같습니다 (응답은 함수 호출에서 랩핑되지 않습니다). 그리고 스크립트가 실행될 때 해시 리터럴 ({...})이 최상위 명령문으로 허용되지 않으므로 구문 오류가 발생합니다.

API가 JSONP를 지원하는지 확인한 다음 callback 매개 변수에 올바른 이름을 사용하고 있는지 확인하십시오.

JSONP를 지원하지 않으면 서버 측 언어 (또는 프록시 요청)를 통해 호출해야합니다.


JSONP 예를 들어 함수 호출에 리터럴 자바 스크립트를 포장하여 작동합니다 : 당신이 FHE 기능 jsonp_callback()를 구현하고이 스크립트를 실행하면

jsonp_callback({the: "response"}); 

, 함수는 응답을 받게됩니다.

서버가 작동하려면 JSONP를 명시 적으로 지원해야합니다.

관련 문제