在Blackberry Webworks上发送带头文件的AJAX请求时出现问题

时间:2011-04-07 17:55:27

标签: ajax blackberry

我正在开发一个Blackberry webworks应用程序,我遇到了一个我正在向服务器发出的AJAX请求。我正在学习HTML / Javascript / AJAX,所以原谅任何初学者的错误。基本上,对服务器进行格式化的HTTP请求,返回我在应用程序中使用的JSON对象。我使用AJAX来提出没有任何框架的请求。 大多数请求不需要进行身份验证,而且这些请求返回正常。但是,要访问服务器的目录部分,用户名和密码将被编码并作为XMLHTTPRequest的标头发送。当我尝试添加标题时,请求被发送,但我从来没有得到任何回报。 readyState属性设置为1,但永远不会超出该范围。我知道服务器工作正常,因为我为iPhone做了同样的事情,并且它有效。

以下是相关代码:

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 个答案:

答案 0 :(得分:1)

您的代码似乎很好。您是否在config.xml文件中添加了一个条目以允许访问您的域?您应该看到<access subdomains="false" uri="http://data.mycompany.com/"/>之类的条目。要从WebWorks应用程序向外部网站发出任何HTTPRequests,您必须向“白名单”域添加一个条目,如下所示。

如果您正在使用eclipse插件,请打开config.xml文件,单击底部的“权限”选项卡,然后单击“添加域”。