2011-11-30 3 views
1

PhoneGap에서 실행되는 샘플 jQueryMobile 앱을 실행하고 있습니다.jQueryMobile, PhoneGap getJSON 메서드가 실행되지 않습니다.

$(function() 

    {  
     $('#searchButton').click(function() 
     { 

      alert("search clicked"); <== this alert works 

      var url = "http://api.alternativeto.net/software/firefox?callback=?"; 

      $.getJSON(url, function(data) <== this should be, but isn't being called 
      { 
       alert("function data called"); <== so this alert doesn't show.  

      } // end function (data) 

      ); // end getJSON 

      alert("getJSON call completed"); <== and this alert works 
     } // end search click.function() 
    ); // end $(

"검색을 클릭"와 "해서 getJSON 호출 완료"경고 둘 다 일을 : 문제는 다음과 같이 데이터를 검색 할해서 getJSON 콜백을 실행하지 않습니다. 브라우저에서 url을 입력하면 반환되는 JSON이 유효합니다.

테스트 코드는 다음 URL에서입니다 : 내가 확인할 수 있습니다 아무것도는

http://wiki.phonegap.com/w/page/36868306/UI%20Development%20using%20jQueryMobile

있습니까?

+1

앱에서 도메인 간 요청을 할 수 있기 때문에'url'에'? callback =? '이 필요하다고 생각하지 않습니다. ('$ .getJSON ('http : // google .com/', function (데이터) {console.log (데이터);})'). – Jasper

+0

감사합니다. 경고 대신 로그를 보는 데 도움이되었습니다. 일종의 화이트리스트 문제가 있음을 알았습니다. 나는 이것이 해결 된 것으로 생각한다. 그래서 만일 당신이 대답을하면, 나는 그것을 받아 들일 것이다. –

답변

0

url?callback=?이 필요하다고 생각하지 않습니다. 앱에서 도메인 간 요청을 할 수 있기 때문입니다. 구글의 홈페이지의 HTML을 기록 요식

$.getJSON('http://google.com/', function (data) {console.log(data);}); 

:

나는 성공을 있었다.

+1

btw, iOS에서 작동합니까? console.log의 결과를 어디에도 볼 수 없습니다 ... –

+0

@JackBeNimble 그래, IOS 4.3에서 테스트 한 것을 기억하고 작동했습니다. 그러나 이제는 console.log (데이터)를 작동시키는 방법을 알 수 없기 때문에'alert (data)'를 사용했다. (나는 Xcode가 처음이다.) – Jasper

+0

죄송합니다 - 수락에서 upvote로 변경해야했습니다. - 허용 된 사이트 목록 문제를 제거했지만 여전히 콜백을 실행하지 않습니다. –

관련 문제