Я занимаюсь разработкой приложения 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
не отображается.Что я делаю неправильно?Заранее спасибо :).