【发布时间】:2012-03-02 22:34:37
【问题描述】:
我正在开发一个 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 status 为 0,尽管没有显示 request.statusText。我究竟做错了什么?在此先感谢:)。
【问题讨论】:
-
XHR 的回调在哪里?
-
刚刚添加,包括它的代码。
标签: javascript xmlhttprequest readystate