【发布时间】:2016-04-07 16:11:06
【问题描述】:
我试图弄清楚如何将来自 AJAX 调用的集合绑定到 DataTable,但遗憾的是每次我收到错误消息说 JSON 无效(但它不是!)
我有一个名为“response”的返回对象,它有一个名为“Recipients”的集合,它有一个“Recipient”类型的对象并有一些道具:
名字 姓 电子邮件地址
即:response.Recipients 在客户端调用中转换为 data.Recipients(见下文)
我不确定如何绑定 - 有什么想法吗?
这是我当前的代码:
$.ajax({
contentType: 'application/json',
url: '@Url.Action("GetRecipients")',
type: 'POST',
dataType: 'json',
data: jsonPayload,
cache: false,
success: function (data) {
if (data.Success) {
$('#tblRecipients').DataTable({
"data": data.Recipients,
"columns": [{
"Firstname": "Firstname",
"Lastname": "Lastname",
"EmailAddress": "EmailAddress"
}]
});
}
else {
alert(data.FailureInformation);
}
},
error: function (xhr, status, error) {
alert('There was a problem obtaining the selected recipient details. Please try again later');
}
});
肯定不会这么难吧?
是的,数据是正确的。我可以在 Recipients 对象中看到从调用中返回的 3 个项目。
感谢您的指点!
编辑 - 示例 json:
[{
"Firstname": "Tim",
"Lastname": "Hughes",
"EmailAddress": "th@test.com"
}, {
"Firstname": "Joe",
"Lastname": "Bloggs",
"EmailAddress": "jb@test.com"
}]
【问题讨论】:
-
你能发布一个示例 JSON 吗?我认为发布它会让人们更容易找出这里的问题
-
当然 - 刚刚发布!
-
根据我在下面的回答,尝试使用带引号和不带引号的属性名称。在处理这两种情况时,我觉得 JavaScript 及其无穷无尽的库非常不一致。
标签: jquery jquery-ui datatables