6

我将 jQuery Mobile 与 PhoneGap 一起使用。如何(从服务器)提取 JSON 数据并将其填充到列表视图中。

4

4 回答 4

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');
});

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

{
  "one": "Singular sensation",
  "two": "Beady little eyes",
  "three": "Little birds pitch by my doorstep"
}

使用这种结构,该示例循环访问请求的数据,构建一个无序列表,并将其附加到正文中。

于 2012-06-19T14:05:47.260 回答
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');

}
于 2012-06-20T06:02:20.437 回答
2
function makeList() {
    $.post("http://example.com/getlist.php",
        function(resultfromphp) {
            $('#ulListview').append(resultfromphp);
            $('#ulListview').trigger('create');    
            $('#ulListview').listview('refresh');
    });
}

$("#pageName").live('pagebeforeshow', function(event) {
    makeList();

});

这对我来说非常有效。php 正在返回<li></li>标签 html 是一个<ul id="ulListview"></ul>标签

于 2012-09-18T01:35:00.907 回答
0

我正在使用 JQM 进行类似的项目,稍后我将通过电话间隙。上面的答案虽然可用于使用 ajax 动态填充数据,但是不要解决覆盖 JQM ajax 的含义,因为 Jquery ajax 并没有真正具备处理 JQM 事件的能力,这些事件是为那些为那些正在扩展 DOM 事件而构建的有兴趣或像我一样遇到类似的困境,我希望下面的页面可以帮助您对您的项目做出明智的决定。

http://jquerymobile.com/demos/1.2.0/docs/pages/page-dynamic.html

于 2013-02-27T12:22:52.740 回答