Приложение PhoneGap зависает после двух запросов JSON на Android - PullRequest
1 голос
/ 27 марта 2012

Я разрабатываю приложение phonegap (v 1.5 Cordova) с jquery mobile (1.1.0-RC1) и jquery 1.7.1.

Я делаю два json-запроса по нажатию кнопки, чтобы обновить мою базу данных.первый работает хорошо:

$.getJSON(
  "http://mydomain/api.php"+last_update,

  function (data) {
    var $page = $( search_result );
  var  $content = $page.children( ":jqmData(role=content)" );
  var output;

        updates = data;
        db.transaction(auswertung,db_error);


});

второй перестает работать на нескольких устройствах Android после двух звонков.Не вызывается ни функция успеха, ни функция ошибки.Отображается только ошибка времени ожидания Sntp:

SntpClient (75): сбой времени запроса: java.net.SocketException: семейство адресов не поддерживается протоколом

и приложениемвылетает.

    var url = "http://mydomain/api.php"+filter; //filter: adds some get-parameters to it
console.log(url);
$.getJSON(
  url,
  function (data) {

            var $page = $( search_result );
        var  $content = $page.children( ":jqmData(role=content)" );
        var output;

        if(data.length==0){
        output ="<p>no results!"+"</p>";
        }else{
        output = "<ul name=\"results\" data-role=\"listview\" data-theme=\"g\">";
    $.each(data,function(key,val){  

    output +="<li>"+val.Name+"</li>";
    });
        output +="</ul>";
        }
     $content.html(output);
     $page.page();
  $('#results').listview('refresh');
$.mobile.changePage( $page ,{dataUrl: "#search_result"});
}).error(function(jqXHR, textStatus, errorThrown) {         alert("Verbindungsfehler"); 
    console.log("error " + textStatus);
    console.log("incoming Text " + jqXHR.responseText);
})

Ответы [ 2 ]

1 голос
/ 29 марта 2012

У нас была точно такая же проблема. Первый запрос успешен, а последующие - нет.

Мы исправили это, уменьшив телефонный разрыв с 1.5 до 1.4.1

Это похоже на ошибку в PhoneGap 1.5. Насколько я могу судить, сообщений об ошибках здесь нет, и воспроизвести их довольно сложно, не используя всю кодовую базу.

Кажется, что второй запрос прерывается через 30 секунд, независимо от того, что вы делаете.

Мы боролись с этим несколько дней. Единственное решение сейчас - откат к Phonegap 1.4.1

Вот вопрос моего брата по теме

0 голосов
/ 27 марта 2012

Address family not supported by protocol Я полагаю, это означает, что устройство не знает, что делать с URL-адресом, начинающимся с ....

Чего вы пытаетесь достичь с помощью ...?

...