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

2024-06-20

我正在开发一个 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();

}


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

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Blackberry Webworks 上发送带有标头的 AJAX 请求时出现问题 的相关文章

随机推荐