Пустой ответный текст в Phonegap, работающий на Android

Я видел некоторые другие вопросы об этом, но ничего, что решило бы мою проблему. Я использую приведенный ниже код, чтобы сделать запрос ajax на phonegap 2.9.0. Междоменное разрешение исправлено. Работая в моем браузере, скрипт идеален. Но когда дело доходит до Android, он запускает весь код, но responseText становится пустым.

var request = new XMLHttpRequest(); 
    request.open("GET", url, true); 
    request.onreadystatechange = function(){ 
        if (request.readyState == 4) { 
            if (request.status == 200 || request.status == 0) { 
                $("#app").html(request.status + request.responseText);
            }                 
        } 
    } 
    request.send(); 

Итак, как вы можете видеть в коде, элемент #app получает значение request.status 200, но responseText пуст на устройстве Android, но в браузере работает нормально. Он показывает данные, которые я ищу. Кто-нибудь знает, что это?


person Anderson Sousa    schedule 30.09.2013    source источник
comment
Поместите предупреждение в request.onreadystatechange = function(){ alert(I am here); если (запрос.readyState == 4) {   -  person RED.Skull    schedule 30.09.2013
comment
Я не понял, зачем использовать оповещение? Я даже могу вызвать это во втором операторе if, где я должен обработать результат запроса. Оно работает. Но дело в том, что responseText здесь пустой. :/ Любая помощь?   -  person Anderson Sousa    schedule 30.09.2013
comment
Используйте оповещение или консоль для целей отладки. независимо от того, попадает ли он внутрь цикла или нет. Если вы не получаете оповещения, то проблема с вашим URL   -  person RED.Skull    schedule 30.09.2013
comment
Да, я пробовал, и он работает нормально, как я сказал. Результатом ‹code›$(#app).html(request.status + request.responseText);‹/code› является только 200, request.status. Это единственное, что показано. Я сделал внутри него тест ( request.responsetText == ), и он возвращает true. Но когда я в браузере, он возвращает false, потому что возвращает текст по URL-адресу.   -  person Anderson Sousa    schedule 30.09.2013


Ответы (1)


Я решил проблему. Я сделал 2 изменения: 1 изменил версию phonegap на 2.5.0 и назвал файл не как json, а как текст и потом использовал JSON.parse, чтобы было понятно. И тогда это работает!

person Anderson Sousa    schedule 01.10.2013