我将 jQuery Mobile 与 PhoneGap 一起使用。如何(从服务器)提取 JSON 数据并将其填充到列表视图中。
问问题
35850 次
4 回答
8
查看w3schools和jQuery 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 回答