Javascript 使用XMLHttpRequest从服务器获取数据(适用于Phonegapp BlackBerry应用程序)

Javascript 使用XMLHttpRequest从服务器获取数据(适用于Phonegapp BlackBerry应用程序),javascript,xmlhttprequest,readystate,Javascript,Xmlhttprequest,Readystate,我正在开发一个BlackBerry Phonegap应用程序。因此,我使用的是JavaScript 从本地文件中,我试图获取服务器中的一些数据(裸文本)。我正在尝试不同的浏览器(主要是Mozilla和Chrome)。我使用的代码如下: try{ request = new XMLHttpRequest(); request.onreadystatechange = processResults; request.open('GET', url, false); r

我正在开发一个BlackBerry Phonegap应用程序。因此,我使用的是JavaScript

从本地文件中,我试图获取服务器中的一些数据(裸文本)。我正在尝试不同的浏览器(主要是Mozilla和Chrome)。我使用的代码如下:

try{
    request = new XMLHttpRequest();
    request.onreadystatechange = processResults;
    request.open('GET', url, false);
    request.send();
}catch(e){
    alert('exception performing data request: ' + e.name + '; ' + e.message);
}
以及回调:

function processResults(){
    if(request.readyState == 4){    
        if(request.status == 200){
            document.getElementById('divResults').innerHTML = request.responseText;
        }else{
            alert("Error! Status" + request.status + " - " + request.statusText); 
        }
    }
}
我遇到的问题是数据永远不会被提取。异常返回以下错误:

NS_ERROR_FAILURE; Component returned failure code: 0x80004005 (NS_ERROR_FAILURE)
我做了一些研究,这些问题最常见的原因是同源政策。但是,我肯定会在以下情况下禁用它:

try {  
    netscape.security.PrivilegeManager.enablePrivilege("UniversalBrowserRead");  
} catch (e) {  
    alert("UniversalBrowserRead failed");  
}   

Firebug只是指出错误出现在
request.send()
行中,但没有给出进一步的信息。
xmlHTTP状态
为0,但不显示任何
request.statusText
。我做错了什么?提前感谢:)。

解决方案是在Internet Explorer中测试应用程序,信不信由你。在IE中,没有出现错误消息,一切正常。经过多次测试,这就是我的代码。希望对其他人有用:

// Create the XHR object.
// For non-IE browsers (Chrome, Mozilla, Opera, Safari, etc.).
if(XMLHttpRequest){
    request = new XMLHttpRequest();
// For IE.
}else if(ActiveXObject){
    try{
        request = new ActiveXObject('Msxml2.XMLHTTP');
    }catch(e){
        request = new ActiveXObject('Microsoft.XMLHTTP');
    }
}else{
    alert('Could not create XMLHTTP request object');
}

// Request the data.
try{
    request.onreadystatechange = function(){
        if(request.readyState == 4 && request.status != 200){
            console.log(request.responseText);
            alert("Error! Status " + request.status + " - " + request.statusText); 
        }
    };
    request.open('GET', targetURL, false);
    request.send();

}catch(e){
    alert('Error while performing the request: ' + e.name + '; ' + e.message);
}

// Empty the content into a proper JavaScript variable.
var text = request.responseText;
var xmlText = eval("(" + text + ")");
// Just fetch the data you want from the xmlText object.

XHR的回调在哪里?刚刚添加了它,包括它的代码。