Ich entwickle eine Blackberry Webworks-Anwendung und habe Probleme mit einer AJAX-Anfrage, die ich an einen Server stelle. Ich lerne gerade HTML/Javascript/AJAX, entschuldigen Sie also eventuelle Anfängerfehler. Im Grunde werden formatierte HTTP-Anfragen an den Server gestellt, der JSON-Objekte zurückgibt, die ich in der Anwendung verwende. Ich verwende AJAX, um die Anfragen ohne jede Art von Rahmen zu stellen. Die meisten Anfragen müssen nicht authentifiziert werden, und diese werden auch problemlos zurückgegeben. Um jedoch auf einen Verzeichnisteil des Servers zuzugreifen, werden ein Benutzername und ein Kennwort kodiert und als Header mit der XMLHTTPRequest gesendet. Wenn ich versuche, den Header hinzuzufügen, wird die Anforderung gesendet, aber ich bekomme nie etwas zurück. Die readyState-Eigenschaft ist auf 1 gesetzt, geht aber nie über diesen Wert hinaus. Ich weiß, dass der Server gut funktioniert, weil ich dasselbe für das iPhone gemacht habe und es hat funktioniert.
Hier ist der entsprechende Code:
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();
}