2011-04-07 3 views
4

Blackberry webworks 응용 프로그램을 개발 중이며 서버를 만들고있는 AJAX 요청에 문제가 있습니다. 나는 HTML/Javascript/AJAX를 즉시 배우고 있으므로 초보자 실수는 변명의 여지가있다. 기본적으로 형식화 된 HTTP 요청은 서버에서 수행되며,이 서버는 애플리케이션에서 사용하는 JSON 객체를 반환합니다. 어떤 종류의 프레임 워크 없이도 AJAX를 사용하여 요청을합니다. 대부분의 요청은 인증 될 필요가 없으며 정상적으로 반환됩니다. 그러나 서버의 디렉토리 부분에 액세스하려면 사용자 이름과 비밀번호가 인코딩되어 XMLHTTPRequest와 함께 헤더로 보내집니다. 헤더를 추가하려고하면 요청이 보내지 만 다시는 아무것도 얻지 못합니다. readyState 속성은 1로 설정되어 있지만 결코 넘어서는 것은 아닙니다. 나는 서버가 잘 작동한다는 것을 안다. 왜냐하면 나는 아이폰에서 똑같은 일을했기 때문이다.Blackberry Webworks에서 헤더가있는 AJAX 요청을 전송하는 데 문제가 있습니다.

function grabFromServer(httpRequest){ 
httpConnection = new XMLHttpRequest(); 
var me = this; 
httpConnection.onreadystatechange=function(){ 
    alert(httpConnection.readyState); 
    if(httpConnection.readyState==4){ 
     me.processResponseText(httpConnection.responseText); 
    } 
}; 
httpConnection.open("GET", httpRequest,true); 

if(this.request == "company" || this.request == "property" || this.request == "individual"){ 
    var authorized = this.checkCredentials(); 
    if(!authorized){ 
     //ask for username pword 
    } 
    //here, add credentials 
    httpConnection.setRequestHeader("Authorization", "Basic : ODI5ZGV2bDokY19kdXN0Ym93bA=="); 
} 
httpConnection.send(); 

}

답변

1

귀하의 코드가 좋은 것으로 나타납니다

여기에 관련 코드입니다. 도메인에 액세스 할 수 있도록 config.xml 파일에 항목을 추가 했습니까? <access subdomains="false" uri="http://data.mycompany.com/"/>과 같은 항목이 표시되어야합니다. WebWorks 응용 프로그램에서 외부 웹 사이트에 대한 HTTP 요청을하려면이 같이 "허용 목록"도메인에 항목을 추가해야합니다.

eclipse 플러그인을 사용하는 경우 config.xml 파일을 열고 하단의 권한 탭을 클릭 한 다음 "도메인 추가"를 클릭하십시오.

+0

예, 내 config.xml에 올바른 도메인과 하위 도메인이 추가되었습니다. "IF"문이 true를 반환 할 때만 setRequestHeader 메서드를 호출합니다. 그렇지 않으면 방금 요청을 보내면 제대로 작동합니다. 아무 것도 일어나지 않는 헤더를 추가하지 않으면됩니다. – user697286

+0

죄송합니다, 수정, 아무 것도 일어나지 않는 헤더를 추가 할 때만입니다. – user697286

관련 문제