2013-12-19 2 views
0

Google 리버스 지오 코딩 API를 사용하여 발생시키는 ajax 함수의 '오류 :'부분을 가져 오는 데 문제가 있습니다.

http://codepen.io/mustachios/pen/sdwIG

대부분의 우편 번호가 작동하지만 당신은 너무 긴 문자열에 넣어 경우 (예를 들어 "12345678"), 오류 경고가 발생하지 않습니다 콘솔 그냥 내 결과가 정의되지 말한다.

함수의 "성공 :"부분에서 정의되지 않았는지 확인해야합니까? 어떤 결과가없는 경우에도

failure -callback이 없습니다에

답변

1
success:function(result){ 

    //console.log(result); 

    if(result.results[0]){ 
     var addresses = result.results[0].address_components; 
    } 
    else{ 
     alert('error'); 
    } 

포스트 코드 result.results [0] .address_components 존재하지 않는 경우는 result.results [0] 정의되지 않은 것이라고이다, 존재하지 않는 것입니다. 따라서 사용자가 '제출'을 클릭 한 후 if(result.results[0])을 통해 result.results [0]이 있는지 확인한 다음 addresses을 지정하고 그렇지 않은 경우 alert('error')을 할당하십시오.

1
  1. AFAIK, 그것은, error
  2. 지오 코더는 항상 유효한 JSON과 HTTP-상태 코드 (200)를 반환되어야합니다. 응답의 상태 속성을 확인해야하며 응답은 OK이어야합니다. 그렇지 않으면 결과가 없습니다.