我无法从ajax命令填充jQuery Datatble。
这是webAPI代码(UtentiController):
' GET: api/Utenti
<HttpGet>
Public Function GetUtentis() As IEnumerable(Of Utenti)
Using WFe As WorkForceEntities = New WorkForceEntities
Return WFe.Utentis.ToList
End Using
End Function
这是客户端代码:
<script>
$(document).ready(function () {
var oTable = $('#myDatatable').DataTable({
paging: true,
sort: true,
searching: true,
"ajax": {
"url": '/api/utenti/',
"type": "get",
"datatype": "json",
error: function (xhr, status, error) {
alert(xhr.responseText);
}
},
"columns": [
{ "data": "Nome", "autoWidth": true },
{ "data": "Cognome", "autoWidth": true },
{ "data": "Username", "autoWidth": true },
{ "data": "GruppoDiLavoro", "autoWidth": true },
{ "data": "ProfiloFunzionalità", "autoWidth": true },
]
})
})
</script>
我认为问题出在json字符串上。 ajax命令返回错误的json,缺少初始子字符串 {“data”:
[ { “IDutente”:2, “Operatore”:“管理员”, “密码”:“1234”, “LivelloDiAccesso”:1, “诺姆”:“管理员”, “Cognome”:“管理员”, “用户名”:“管理员”, “GruppoDiLavoro”:“管理员”, “ProfiloFunzionalità”:“管理员”, “Attivo”:是的, “DataCreazione”:“2017-08-30T00:00:00”, “DataScadenza”:“2025-12-31T00:00:00”, “邮件”:“没什么” }, { “IDutente”:3, “Operatore”:“MS”, “密码”:“1234”, “LivelloDiAccesso”:2, “诺姆”:“管理员”, “Cognome”:“S”, “用户名”:“M”, “GruppoDiLavoro”:“管理员”, “ProfiloFunzionalità”:“管理员”, “Attivo”:是的, “DataCreazione”:“2017-08-30T00:00:00”, “DataScadenza”:“2025-12-31T00:00:00”, “邮件”:“没什么” } ]
如果我加载这样的json文件(“ajax”:“../ UtentiData.json”,)
{ “数据”:[ { “IDutente”:2, “Operatore”:“管理员”, “密码”:“1234”, “LivelloDiAccesso”:1, “诺姆”:“管理员”, “Cognome”:“管理员”, “用户名”:“管理员”, “GruppoDiLavoro”:“管理员”, “ProfiloFunzionalità”:“管理员”, “Attivo”:是的, “DataCreazione”:“2017-08-30T00:00:00”, “DataScadenza”:“2025-12-31T00:00:00”, “邮件”:“没什么” }, { “IDutente”:3, “Operatore”:“MS”, “密码”:“1234”, “LivelloDiAccesso”:2, “诺姆”:“管理员”, “Cognome”:“S”, “用户名”:“M”, “GruppoDiLavoro”:“管理员”, “ProfiloFunzionalità”:“管理员”, “Attivo”:是的, “DataCreazione”:“2017-08-30T00:00:00”, “DataScadenza”:“2025-12-31T00:00:00”, “邮件”:“没什么” } ] }
代码运行良好,jQuery Datatable正确填充。
如何才能与Json webAPI一起正常工作? 感谢
答案 0 :(得分:1)
您可以使用“平面阵列数据源”。
将您的代码更改为:
<script>
$(document).ready(function () {
var oTable = $('#myDatatable').DataTable({
paging: true,
sort: true,
searching: true,
"ajax": {
"url": '/api/utenti/',
"type": "get",
"dataSrc": "",
error: function (xhr, status, error) {
alert(xhr.responseText);
}
},
"columns": [
{ "data": "Nome", "autoWidth": true },
{ "data": "Cognome", "autoWidth": true },
{ "data": "Username", "autoWidth": true },
{ "data": "GruppoDiLavoro", "autoWidth": true },
{ "data": "ProfiloFunzionalità", "autoWidth": true },
]
})
})
请参阅example。