Javascript 使用ajax调用填充数据表
我正在尝试使用ajax调用填充数据表。但它仅用Javascript 使用ajax调用填充数据表,javascript,jquery,ajax,datatable,Javascript,Jquery,Ajax,Datatable,我正在尝试使用ajax调用填充数据表。但它仅用列中的最后一个值填充第一列 这是我的密码: $(文档).ready(函数(){ $.ajax({ url:“http://192.168.2.32:5000/get_all_locations", '方法':'获取', “contentType”:“application/json” }).完成(功能(数据){ console.log('dataaa',data); $('#myTable')。数据表({ “aaData”:数据[“数据”], “栏目
列中的最后一个值填充第一列
这是我的密码:
$(文档).ready(函数(){
$.ajax({
url:“http://192.168.2.32:5000/get_all_locations",
'方法':'获取',
“contentType”:“application/json”
}).完成(功能(数据){
console.log('dataaa',data);
$('#myTable')。数据表({
“aaData”:数据[“数据”],
“栏目”:[{
“数据”:“id”,
“数据”:“名称”,
“数据”:“代码”
}]
})
})
})
身份证件
名称
代码
在上图中,id字段显示代码的值。
我如何解决这个问题
数据输出
{…}
StatusCode: true
StatusDescription: "Location details has been pulled successfully."
data: (9) […]
0: Object { code: "1007", id: 20, is_free_zone: true, … }
1: Object { code: "1002", id: 15, is_free_zone: false, … }
2: Object { code: "1001", id: 14, is_free_zone: false, … }
3: Object { code: "1003", id: 16, is_free_zone: false, … }
4: Object { code: "1004", id: 17, is_free_zone: false, … }
5: Object { code: "1006", id: 19, is_free_zone: false, … }
6: Object { code: "1005", id: 18, is_free_zone: false, … }
7: Object { code: "1008", id: 21, is_free_zone: false, … }
8: Object { code: "1009", id: 22, is_free_zone: false, … }
length: 9
看
每一列都应该是一个单独的对象,其数据属性指向记录上属性的名称
columns: [
{"data": "id"},
{"data": "name"},
{"data": "code"}
]
列def是一个对象,而不是一个对象数组
每个列配置都需要一个数据
字段和一个可选的标题
let data=requestData();
$(() => {
$(“#myTable”).DataTable({
aaData:data['data'],
栏目:[
{“数据”:“id”,“标题”:“id”},
{“数据”:“名称”,“标题”:“名称”},
{“数据”:“代码”、“标题”:“代码”}
]
})
});
函数requestData(){
返回{
数据:[
{代码:“1007”,id:20,姓名:“a”,是自由区:真的},
{代码:“1002”,id:15,名称:“b”,是自由区:假},
{代码:“1001”,id:14,名称:“c”,是自由区:假},
{代码:“1003”,id:16,名称:“d”,是自由区:假},
{代码:“1004”,id:17,名称:“e”,是自由区:假},
{代码:“1006”,id:19,名称:“f”,是自由区:假},
{代码:“1005”,id:18,名称:“g”,是自由区:假},
{代码:“1008”,id:21,名称:“h”,是自由区:假},
{代码:“1009”,id:22,姓名:“i”,是自由区:假}
]
};
}
#myTable th,#myTable td{padding:0.33em}
#myTable th{字体大小:0.90em}
#myTable td{font size:0.75em}
身份证件
名称
代码
如下更改代码
$(document).ready(function () {
$.ajax({
url: "http://192.168.2.32:5000/get_all_locations",
'method': 'GET',
'contentType': 'application/json'
}).done(function (data) {
console.log('dataaa', data);
$('#myTable').dataTable({
'aaData': data['data'],
"columns": [
{ "data": "id", },
{ "data": "name", },
{"data": "code",},
}]
})
})
您可以通过添加筛选或启用搜索来自定义每个列:
{"data": "code","orderable": false, "searchable": false,},
执行console.log('dataaa',data.data)
,您得到了什么?您的列配置看起来错误,您有一个具有三个同名属性的对象,因此您只创建了一个列?它不应该是从属性名到列标题的映射吗?@palaѕѕѕѕѕ,在更新的问题中发布的输出。@JuanMendes,你能举个例子吗?因为我是这方面的初学者。我应该在那里给出哪些属性?答案不应该只是发布工作代码,还应该解释问题所在