我不知道为什么,但是footable docs只显示了一个从文件中获取数据的方法,而不是来自webservice,所以我尝试了各种组合来获取以json格式返回的数据到足够的实例,但没有运气。 他们的例子显示了以下内容:
$('.table').footable({
"rows": $.get('rows.json')
});
(假设列已经定义),这是有效的。 但是,在我的ajax查询中,我尝试了
$('.table').footable({
"rows": data.d
});
并且没有错误发生,数据格式正确(使用在线JSON模式检查程序验证),但没有任何反应(控制台中没有错误)。
我彻底测试了ajax查询(工作,我甚至可以解析返回的data.d),所以我迷失了如何继续。
$.ajax({
type: "POST",
url: "/Search.asmx/GetListingsByPageSort",
data: '{"sp":' + JSON.stringify(sp) + '}',
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (data) {
$('.table').footable({
"rows": data.d
});
},
error: function (xhr, status) {
alert("fail: " + status);
}
});
HTML
<table class="table" data-paging="true">
<thead>
<tr>
<th class="hdrcolVdr" data-class="expand" data-type="html" data-name="vendor">Vendor </th>
<th class="hdrcolMan" data-breakpoints="xs sm" data-type="html" data-name="manufacturer">Manufacturer </th>
<th class="hdrcolProd" data-breakpoints="xs sm md" data-type="html" data-name="product_name">Product </th>
<th class="hdrcolPrice" data-breakpoints="xs" data-type="html" data-name="price">Price </th>
<th class="hdrcolI" data-breakpoints="xs sm" data-type="html">Info </th>
</tr>
</thead>
</table>
难住了。
答案 0 :(得分:0)
我发现(经过努力工作)问题来自于从GET / POST收集响应的异步方式。 在我的代码中,这有效:
rows : $.get('js/rw1.json')
但这不起作用:
rows : $.get("rest.php")
即使他们都给出了相同的值(看到跟踪净流量)。
我已经解决了在同步模式下强制jQuery所以它等待GET的响应。可能不是一个很好的解决方案,但它的工作原理。这是我的代码:
rows : ajaxRows();
其中ajaxRows是:
function ajaxRows(){
var retu;
jQuery.ajaxSetup({async:false});
retu = $.get("rest.php");
jQuery.ajaxSetup({async:true});
return retu;
}
在您的代码中,您可能应该添加$ .ajax参数:
async:false
HTH
马