2009-11-28 3 views
0

AJAX를 통한 HTTP 요청을 클라이언트에서 Google Maps Geocoding 서비스로 제출하려고합니다. 계속 0의 상태가 유지됩니다.xml HTTP 요청 상태는 Google지도의 경우 0입니다. http 지오 코더

브라우저 주소창에 URL을 입력하면 유효한 결과가 나옵니다. 요청이 유효하다는 것을 알고 있습니다.

var request = GXmlHttp.create(); 
request.open("GET", url_string, true); 
request.onreadystatechange = function() { 
    if (request.readyState == 4) { 
     alert("STATUS IS "+ request.status); 
    } 
} 
request.send(null); 

내 애플이 구글에서 appengine에서 실행되고 내가하려고하면 오류를 얻을 : - 여기에 코드 (위에서 언급 한 바와 같이 이미 검사를하지 'URL_STRING을'가정은 지오 코딩 서비스에 대한 유효한 URL이있다)이다 로컬로 배포 할 수도 있지만 배포하고 시도 할 때도 마찬가지입니다.

어떤 도움

주시면 감사하겠습니다.

답변

0

0은 완전히 실패한 연결에 대한 상태 코드이며 상태 코드를 반환 할 HTTP 응답이 없습니다. 이것은 예일 수 있습니다. 다양한 소켓 오류 (IE는이 경우 12029과 같은 WinSock 오류 코드를 제공하지만).

올바른 주소를 브라우저 주소창에 입력하면 올바른 결과가 나타납니다.

URL이 서버에없는 것 같습니다. GXmlHttpXMLHttpRequest 주변의 작은 래퍼이므로 도메인 간 요청을 할 수 없습니다.

Google은 일반 XMLHttpRequest로 지리 정보를 처리하는 대신 지리 정보를 제공합니다.

1

Same Origin Policy을 위반하여 자신의 XmlHttpRequest를 Google에 제출할 수 없으므로 브라우저에서 거부됩니다. bobince가 말한 것처럼 대신 Google에서 제공하는 클래스를 사용하십시오. 그들은 재 구현할 필요가없는 영리한 DOM 해킹을 통해이 문제를 해결합니다.

+0

대단히 감사합니다. 크로스 도메인 제한을 인식하지 못했습니다. – Shazoo