2012-07-12 3 views
1

Phonegap (버전 1.9.0) 및 jQuery Mobile (1.1.0)을 사용하여 Android (2.2) 앱을 만들려고합니다. 특히이 앱은 기존 WCF REST 서비스에 GET 요청을 보내고 JSON 데이터 (폴더 목록)를 검색하고 선택 드롭 다운 메뉴에서 각 항목을 옵션으로 표시합니다.PhoneGap + Android + jQuery Mobile - 서버 연결에 실패했습니다

현재 모든 기능은 데스크톱 브라우저를 사용할 때와 동일하게 작동합니다. WCF REST 서비스는 올바른 응답을 보내고 브라우저는 페이지를 올바르게 렌더링하고 원하는대로 선택 메뉴에 옵션을 넣습니다. 내가 폰갭을 사용하여 안드로이드 응용 프로그램에서 다음 코드를 사용 그러나 :

Connection to the server was unsuccessful. ("file:///android_asset/www/index.html") 

:

$.getJSON('http://xxx.xxx.xxx/MobileService.svc/GetFolders?callback=?', null, function (folders) {     
    $.each(folders, function(i, folder) { 
     $("#folders").append("<option value='"+folder.Id+"'>"+folder.Name+"</option>"); 
    }); 
    $("#folders").selectmenu("refresh"); 
}); 

을 내가 (물리적 장치에 디버깅) 안드로이드 응용 프로그램을 부팅 할 때 ... 나는 오류 메시지가 나는 위의 $ .getJSON 코드를 주석 처리합니다. 앱은 잘로드되지만 select 메뉴는 채워지지 않습니다.

나는 또한 Phonegap이 "file : //"프로토콜을 사용하고 있기 때문에 "http : //"프로토콜이 "same-origin policy"에 영향을받지 않는 것으로 나타났습니다. 브라우저로 작업 할 때 JSONP를 사용했기 때문에 콜백이 필요합니다. 나는 이것이 이것이 실패한 이유라고 생각하지 않는다. 그러나 나는 모른다. 어떤 도움이라도 대단히 감사하겠습니다!

것들 나는 시도했다 : ". *"

  • 가 액세스 원점을 변경 cordova.xml 'super.setIntegerProperty 추가

  • 에서 ("loadUrlTimeoutValue을", 60000) ; ' 활동에

+0

내가 에뮬레이터 사라 오류를 다시 시도 할 수 있습니다

희망. 이유는 에뮬레이터를 시작했을 때 네트워크가 다운 되었기 때문에 네트워크 연결을 다시 얻을 수 없었습니다. 그래서 에뮬레이터를 다시 시작했습니다. – hriziya

답변

1

그것은 내 특히 밝혀 REST 서비스가 호스팅 된 네트워크에 액세스 할 수없는 게스트 Wi-Fi 네트워크에있는 휴대폰으로 문제가 해결 된 경우 연결이 차단되었습니다. 사람

1

당신은 Getting Started Guide

또는 더 나은에서 볼 수 있듯이 ".*" 대신 "*"에 cordova.xml를 설정하려고 할 수 있습니다

http://xxx.xxx.xxx 
+0

나는 그것들을 둘 다 설정하려고했는데, 둘 중 어느 것도 나를 위해 불행하게도 일하지 않았다. – kwilliamson

+0

모바일의 로컬 파일에서 JSON을 가져올 수 있는지 확인하십시오. – Calavoow

관련 문제