Javascript 使用PhoneGap和jQuery Mobile在android设备上显示动态列表视图
我的代码有问题。它在Chrome上工作,但在Android上不工作,甚至警报(“测试”)也不会被调用。我用PhoneGap制作了apk。我也使用jquerymobile。我错过了什么?有没有其他方法可以从json响应中的数据生成动态listview 谢谢你的回答Javascript 使用PhoneGap和jQuery Mobile在android设备上显示动态列表视图,javascript,ajax,cordova,jquery-mobile,Javascript,Ajax,Cordova,Jquery Mobile,我的代码有问题。它在Chrome上工作,但在Android上不工作,甚至警报(“测试”)也不会被调用。我用PhoneGap制作了apk。我也使用jquerymobile。我错过了什么?有没有其他方法可以从json响应中的数据生成动态listview 谢谢你的回答 $( document ).bind( "mobileinit", function(){ $.support.cors = true; $.mobile.allowCrossDomainPages = true;
$( document ).bind( "mobileinit", function(){
$.support.cors = true;
$.mobile.allowCrossDomainPages = true;
$.mobile.loadingMessageTextVisible = true;
$.mobile.showPageLoadingMsg();
})
$( document ).ready(function (){
$.support.cors = true;
$.mobile.allowCrossDomainPages = true;
e.preventDefault();
alert("test");//-----------------------------------------------
$.ajax({
crossDomain: true,
type: 'GET',
url: 'http://ip/services/rest/contact/list',
callback: 'jsonpCallback',
jsonpCallback: 'jsonpCallback',
jsonp: '_jsonp',
contentType: 'application/json',
dataType: 'jsonp json',
timeout : 10000,
success: function(data){
var html ='';
alert("data.firstName");
$.each(data, function(key, data) {
html += '<li><a class=contact href="#" ><h1>' + data.label + '</h1><p>'+ data.customerName + '</p><p>' + data.phone + ', ' + data.email + '</p><p>' + data.id + '</p></a></li>';
$('#ul_id').append($(html));
html='';
});
$('#ul_id').trigger('create');
$('#ul_id').listview('refresh');
},
error: function (xhr, ajaxOptions, thrownError){
alert("Status: " + xhr.status + ", Ajax option: " + ajaxOptions + ", Thrown error: " + thrownError);
//location.reload();
},
});
;
$(document).bind(“mobileinit”,function(){
$.support.cors=true;
$.mobile.allowCrossDomainPages=true;
$.mobile.loadingMessageTextVisible=true;
$.mobile.showPageLoadingMsg();
})
$(文档).ready(函数(){
$.support.cors=true;
$.mobile.allowCrossDomainPages=true;
e、 预防默认值();
警报(“测试”)//-----------------------------------------------
$.ajax({
跨域:是的,
键入:“GET”,
网址:'http://ip/services/rest/contact/list',
回调:“jsonpCallback”,
jsonpCallback:'jsonpCallback',
jsonp:“'u jsonp',
contentType:'应用程序/json',
数据类型:“jsonp json”,
超时:10000,
成功:功能(数据){
var html='';
警报(“data.firstName”);
$。每个(数据、功能(键、数据){
html+='';
$('#ul_id')。追加($(html));
html='';
});
$('ul#u id')。触发器('create');
$('ul#u id')。列表视图('refresh');
},
错误:函数(xhr、ajaxOptions、thrownError){
警报(“状态:+xhr.Status+”,Ajax选项:+ajaxOptions+”,抛出错误:+thrownError);
//location.reload();
},
});
;
})) 根据需要,您应该使用$(document.bind('pageinit')
,而不是$(document.ready()
)。此外,在使用phonegap时,您需要绑定到“deviceready”
尝试将代码更改为以下内容:
document.addEventListener("deviceready", onDeviceReady, true);
$( document ).bind( "mobileinit", function(){
$.support.cors = true;
$.mobile.allowCrossDomainPages = true;
$.mobile.loadingMessageTextVisible = true;
$.mobile.showPageLoadingMsg();
});
var onDeviceReady = function(){
$.support.cors = true;
$.mobile.allowCrossDomainPages = true;
e.preventDefault();
alert("test");//-----------------------------------------------
$.ajax({
crossDomain: true,
type: 'GET',
url: 'http://ip/services/rest/contact/list',
callback: 'jsonpCallback',
jsonpCallback: 'jsonpCallback',
jsonp: '_jsonp',
contentType: 'application/json',
dataType: 'jsonp json',
timeout : 10000,
success: function(data){
var html ='';
alert("data.firstName");
$.each(data, function(key, data) {
html += '<li><a class=contact href="#" ><h1>' + data.label + '</h1><p>'+ data.customerName + '</p><p>' + data.phone + ', ' + data.email + '</p><p>' + data.id + '</p></a></li>';
$('#ul_id').append($(html));
html='';
});
$('#ul_id').trigger('create');
$('#ul_id').listview('refresh');
},
error: function (xhr, ajaxOptions, thrownError){
alert("Status: " + xhr.status + ", Ajax option: " + ajaxOptions + ", Thrown error: " + thrownError);
//location.reload();
},
};
document.addEventListener(“deviceready”,OnDevicerady,true);
$(document).bind(“mobileinit”,function(){
$.support.cors=true;
$.mobile.allowCrossDomainPages=true;
$.mobile.loadingMessageTextVisible=true;
$.mobile.showPageLoadingMsg();
});
var ondevicerady=函数(){
$.support.cors=true;
$.mobile.allowCrossDomainPages=true;
e、 预防默认值();
警报(“测试”)//-----------------------------------------------
$.ajax({
跨域:是的,
键入:“GET”,
网址:'http://ip/services/rest/contact/list',
回调:“jsonpCallback”,
jsonpCallback:'jsonpCallback',
jsonp:“'u jsonp',
contentType:'应用程序/json',
数据类型:“jsonp json”,
超时:10000,
成功:功能(数据){
var html='';
警报(“data.firstName”);
$。每个(数据、功能(键、数据){
html+='';
$('#ul_id')。追加($(html));
html='';
});
$('ul#u id')。触发器('create');
$('ul#u id')。列表视图('refresh');
},
错误:函数(xhr、ajaxOptions、thrownError){
警报(“状态:+xhr.Status+”,Ajax选项:+ajaxOptions+”,抛出错误:+thrownError);
//location.reload();
},
};