我正在使用 jquery mobile (1.1.0-RC1) 和 jquery 1.7.1 开发一个 phonegap (v 1.5 Cordova) 应用程序。
我在单击按钮时发出两个 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): request time failed: java.net.SocketException: Address family not supported by protocol
然后应用程序崩溃。
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);
})
最佳答案
我们遇到了完全相同的问题。第一个请求成功,随后的请求失败。
我们通过将 phonegap 从 1.5 降级到 1.4.1 来解决这个问题
这似乎是 Phonegap 1.5 中的一个错误。据我所知,没有关于它的错误报告,而且如果不共享整个代码库就很难重现。
无论您做什么,第二个请求似乎都会在 30 秒后超时。
我们为此奋斗了好几天。目前唯一的解决方案是回滚到 Phonegap 1.4.1
这是我兄弟的问题on the topic
关于jquery - Android 上的两个 json 请求后 phonegap 应用程序崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9880171/