2011-05-12 6 views
1

일부 jQuery 아약스 내에서 Google지도 API를 사용하려고했지만 json을 사용하고 있어도 크로스 도메인이기 때문에이 작업을 수행 할 수없는 것처럼 보입니까?Google지도 API - Ajax를 사용할 수 없습니까? 존슨과도?

왜 이런가요? 이 문제를 해결하려면 어떻게해야합니까?

$.ajax({ 
    type: "GET", 
    url: 'http://maps.googleapis.com/maps/api/geocode/json?sensor=false&address=405+Lexington+Avenue+Manhattan+NY', 
    error: function(request, status) { 
     alert('fail'); 
    }, 
    success: function(data, textStatus, jqXHR) { 
     alert('success'); 
    } 
}); 

감사!

답변

2

반환 JSON 내용이 크로스 도메인 제한에서 당신을 배제하지 않는다. (당신은 json과 jsonp을 혼동스럽게 생각할 수도 있습니다.)

다른 사람이 언급 했으므로 스크립트를 사용할 수 있지만 대신 javascript API로 전환하는 것이 좋습니다. 이것은 아마도 서버 측 코드에서 사용되도록 설계되었습니다.

+0

javascript API로 인해 도메인 간 호출이 가능합니다. –

+0

@DutrowLLC, jsonp 같은 것 같아요 :) –

+0

@DutrowLLC JS 버전은 여기에 설명되어있는 것 같습니다. http://code.google.com/apis/maps/documentation/javascript/services.html#Geocoding –

1

맞습니다. 교차 도메인 아약스 호출은 허용되지 않습니다. 대신 src에 해당 URL로 설정된 "script"요소를 페이지에 작성하십시오.

또한 $에게 .getScript()을 사용할 수 있습니다 - http://api.jquery.com/jQuery.getScript/

+0

저는 개인적으로 콜백을 지원하므로 $ .getScript()를 사용합니다. –

+0

내 솔루션이 작동하지 않습니다. 나는 그가 JSON을 검색하려고한다는 것을 몰랐다. 나는 $ .getScript()와 함께 동작 할지도 lib를로드하려고한다고 가정했다. –