2012-03-26 46 views
1

我正在开发jquery mobile(1.1.0-RC1)和jquery 1.7.1的phonegap(v 1.5 Cordova)应用程序。phonegap应用程序在Android上的两个json请求后崩溃

我在按钮上点击两个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); 
}) 
+0

的SntpClient错误是一个红色的鲱鱼,所以你是安全的忽略它。 – 2012-03-27 13:45:57

+0

发生此错误时,应用程序崩溃。 – user1294028 2012-03-27 16:11:10

回答

0

Address family not supported by protocol我相信意味着该设备不知道如何处理与...开头的URL做。

你想用...完成什么?

+0

“...”只是一个占位符。在我问这个问题之前,我编辑了它。 – user1294028 2012-03-26 22:58:48

+0

@ user1294028那你究竟在使用哪些网址?因为错误消息指出你的URL无效,并且它不理解协议(即'http' /'https' /'file'等)。 – Jasper 2012-03-26 23:06:53

+0

我使用'http:// mydomain/api.php'。 '+ filter'为它添加一些get参数。这工作两次。但是,如果第三次点击第二个功能的按钮,则应用程序会崩溃。 – user1294028 2012-03-26 23:16:22

1

我们有完全相同的问题。第一个请求是成功的,随后的失败。

我们修正通过降级的PhoneGap从1.5到1.4.1

这似乎是在PhoneGap的1.5的bug。据我所知,没有任何错误报告,并且在不共享整个代码库的情况下重现相当困难。

第二个请求似乎在30秒后超时,无论你做什么。

我们为此奋战了好几天。唯一的解决办法,现在是回滚到PhoneGap的1.4.1

这里是我的兄弟的问题on the topic