我正在开发Blackberry webworks应用程序,并且遇到了我正在向服务器发出的AJAX请求。我正在学习HTML/Javascript/AJAX,所以请原谅任何初学者的错误。基本上,格式化的HTTP请求发送到服务器,该服务器返回我在应用程序中使用的JSON对象。我使用AJAX来制作没有任何框架的请求。 大多数请求都不需要进行身份验证,而且这些请求返回的很好。但是,要访问服务器的目录部分,用户名和密码将被编码并作为XMLHTTPRequest的标头发送。当我尝试添加标题时,会发送请求,但我从未收到任何回复。 readyState属性设置为1,但永远不会超出此范围。我知道服务器工作正常,因为我为iPhone做了同样的事情,并且工作。在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();
}
是的,我的config.xml中添加了正确的域和子域。当“IF”语句返回true时,我只调用setRequestHeader方法。否则,我只是发送请求,并且工作正常。只有当我不添加一个没有任何反应的标题时。 – user697286 2011-04-11 15:45:02
对不起,更正,只有当我添加一个没有任何反应的标题时。 – user697286 2011-04-11 16:36:39