如何使用服务器的JSON数据填充jQuery Mobile列表视图?

Sto*_*art 6 ajax json listview jquery-mobile cordova

我正在使用带有PhoneGap的jQuery Mobile.如何从服务器中提取JSON数据并将其填充到列表视图中.

Bar*_*kar 8

看看w3schoolsjQuery API上的jQuery.getJSON()方法.

来自jQuery API的示例:

$.getJSON('ajax/test.json', function(data) {
  var items = [];

  $.each(data, function(key, val) {
    items.push('<li id="' + key + '">' + val + '</li>');
  });

  $('<ul/>', {
    'class': 'my-new-list',
    html: items.join('')
  }).appendTo('body');
});
Run Code Online (Sandbox Code Playgroud)

当然,这个例子依赖于JSON文件的结构:

{
  "one": "Singular sensation",
  "two": "Beady little eyes",
  "three": "Little birds pitch by my doorstep"
}
Run Code Online (Sandbox Code Playgroud)

使用此结构,示例循环遍历请求的数据,构建无序列表,并将其附加到正文.


sta*_*gry 7

试试这个:

$.ajax({                                                                   
    type: "POST",                                                                        
    url: "your_url",  
    contentType: "application/json; charset=utf-8",                                                            
    dataType: "json",   
    success:successFunction,                                               
    error: function(msg) {              

        alert(msg.statusText);

     } 
});  

function success:successFunction(data){

     var html ='';
     $.each(data.d, function(index, item) {
         html += '<li><a href="#">' + item.Your_data+ '</a></li>';
     });

    $('#ul_id').append($(html));


    $('#ul_id').trigger('create');    
    $('#ul_id').listview('refresh');

}
Run Code Online (Sandbox Code Playgroud)

  • +1 .listview('refresh'); 是我需要的. (3认同)