2010-07-20 3 views
3

블랙 베리에 phonegap을 사용하여 xhr을 제출하려고합니다. 현재 요청을하면 자동으로 실패합니다. 내가 jQuery를 jQuery.getJSON(url , callback),xhr과 블랙 베리에 phonegap이 있음

XHR 객체

var xmlhttp = new XMLHttpRequest(); 

//callback function when XMLHttpRequest is ready 
xmlhttp.onreadystatechange=function(){ 
    if(xmlhttp.readyState==4){ 
     if(xmlhttpForTGT.status==200){ 

      response = xmlhttpForTGT.getResponseText() 
     } 
     else{ 
      alert("Request Failed") 
     } 
    } 
} 

xmlhttp.open("GET", url , true) 
xmlhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded') 
xmlhttp.send() 

를 사용했는데, 개 개별

x$('#home').xhr(url, 
    {method: 'get', 
    callback: function(){ alert('made request') }}); 

을 지금까지 나는 그들 중 하나가 동작하지 않습니다 수 있습니다. 다른 사람이 xhr을 작동시킬 수 있었습니까? 나는 개발 환경을 위해 Eclipse를 사용하여 JRE4.6.1 &을 사용하고있다. 요청을 할 때 아무런 오류도 발생하지 않습니다.

+0

너도 알다시피 - 나는 똑같은 문제가있다! – Olaseni

답변

2

나는 phonegap-blackberry 프로젝트에 많은 기여를했으며, 모든 테스트에서 XmlHttpRequest 객체는 open() 함수를 호출 할 때 항상 빈 예외를 발생시킵니다. 나는 왜 그런지 잘 모르겠다. 현재 형태의 phonegap-blackberry는 RIM의 독점적 인 비 WebKit 브라우저를 활용하므로 어쩌면 그 기능과 관련이있다.

내가 한 것은 HTTP 요청을 만들고 응답을 검색하는 매우 기본적인 네이티브 Java 기반 방식을 구현하는 것입니다. 'network'PhoneGap API의 일부로 PhoneGap 앱의 JavaScript로 다시 연결됩니다. 여기에 대한 정보는 다음과 같습니다. http://wiki.phonegap.com/Known-issues-(BlackBerry)

참고 : 이것은 가장 확실한 조치입니다. 구현이 거칠고 확실히 일부 작업을 사용할 수 있습니다. 현재 JSON을 리턴하는 API 엔드 포인트에서만 작동합니다.

사용 예제 : 도움이

navigator.network.XHR('http://www.mysite.com/myapi', 
    'This is my POST data, or I could pass in "null" for empty POST data', 
    function(response) { 
     // This is my success callback. 
     // Do something with the JSON response object here. 
    }); 

희망.

+0

예, 확실히 도움이됩니다. 감사합니다. 나는 블랙 베리에 대한 이슈들을 보았지만 그것의 세부 사항에 대해서는 확신하지 못했다. 이 구현을 통해 요청 헤더를 설정할 수있는 방법이 있습니까? –

+0

번호 헤더는 Java의 네이티브 엔드에 설정됩니다 (http://github.com/phonegap/phonegap-blackberry/blob/master/framework/src/com/nitobi/phonegap/api/impl/NetworkCommand.java# 참조). L200 빠른 수정을 위해 필요에 따라 Java로 설정할 수 있거나 JavaScript를 통해 설정할 수 있도록 자유롭게 확장 할 수 있어야합니다. 그럴 경우 github (github.com/filmaj)에서 풀 요청을 보내면 반드시 마스터에 다시 포함시켜야합니다! 이 구현을 폐기하고 전체 XHR API를 올바르게 작성하고 싶습니다. 이것에 대한 여러분의 생각을 알려주세요. 아마 우리는 노력을 결합 할 수 있습니다. –

관련 문제