我有一个表应该从ajax调用的结果中填充。该表定义为:
<table id="resourceTable" class="table table-bordered table-hover">
<thead>
<tr>
<th th:text="${propB}" />
<th th:text="${text}" />
<th th:text="${description}" />
</tr>
</thead>
<tbody>
// contents to be inserted here
</tbody>
</table>
如果我直接在浏览器上调用url,我会得到预期的结果:
[{"value":"value","text":"text","description":"description","propA":"propA","propB":"propB"}]
ajax调用是:
$.ajax({
type: "GET",
url: ajaxUrl,
dataType: "json",
cache: false,
success: function (data) {
data = $.parseJSON(data);
var trHTML = '';
$(function () {
$.each(data, function (i, item) {
trHTML = $('<tr>').append(
$('<td>').text(item.propB),
$('<td>').text(item.text),
$('<td>').text(item.description)
);
});
$('#resourceTable').append(trHTML);
});
},
error: function (msg) {
alert(msg.responseText);
}
});
我知道数据对象存在,但我无法渲染表。
我在这里缺少什么?
答案 0 :(得分:0)
略过
data = $.parseJSON(data)
通过指定dataType:&#39; json&#39;在您的ajax请求中,返回的对象已经是从返回的json解析的javascript对象。顺便说一句,如果您的服务器确实将json作为内容类型标头返回,那么您甚至不需要指定dataType。