Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/389.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用PhoneGap和jQuery Mobile在android设备上显示动态列表视图_Javascript_Ajax_Cordova_Jquery Mobile - Fatal编程技术网

Javascript 使用PhoneGap和jQuery Mobile在android设备上显示动态列表视图

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;

我的代码有问题。它在Chrome上工作,但在Android上不工作,甚至警报(“测试”)也不会被调用。我用PhoneGap制作了apk。我也使用jquerymobile。我错过了什么?有没有其他方法可以从json响应中的数据生成动态listview

谢谢你的回答

$( 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(); }, };