#jquery #asp.net-web-api #datatable
#jquery #asp.net-веб-api #поддающийся обработке данными #asp.net-web-api #datatable
Вопрос:
я получаю данные, когда извлекаю данные из корневого объекта этого json, но когда я пытаюсь извлечь данные из дочернего массива, они получаются в строковом формате, и я хочу, чтобы это был формат таблицы. Код Json
[
{
"error": false,
"data": [
{
"id": 1,
"Name": "Shivraj Singh",
"Mobile": "9787475412",
"VehichleNo": "RJ 19 SV 4514",
},
{
"id": 4,
"Name": "Vinayak",
"Mobile": "9782421454",
"VehichleNo": "asdas",
},
]
}
]
Код, лежащий в основе
table = $("#contact").DataTable({
ajax: {
//type: "POST",
url: "/api/Contact",
dataSrc: "",
},
columns: [
{
data: "data[0].Name",
},
{
data: "data[0].Mobile",
},
{
data: "data[0].VehichleNo",
},
],
});
при этом получены данные не в правильном формате
Ответ №1:
В соответствии с образцом выходных данных JSON, приведенный ниже код должен работать. Здесь "aaData"
просто передайте результат, который вы получаете от вызова api.
$.ajax({
'url': "/api/Contact",
'method': "POST",
'contentType': 'application/json'
}).done( function(response) {
$('#contact').dataTable( {
"aaData": response[0].data,
"columns": [
{ "data": "id" },
{ "data": "Name" },
{ "data": "Mobile" },
{ "data": "VehichleNo" }
]
})
})
Комментарии:
1. Приведенный выше метод дает мне «нет данных в моей таблице данных», но когда я использую тот же метод для родительского элемента json, такого как ошибка и дата, тогда он работает отлично, но я хочу получить данные второго массива в моей таблице
2. Просто поместите console.log(response.data) под выполненным методом ajax, вы получите четкое представление о данных ответа ajax и его формате. Если он дает вам массив, то в datatable просто используйте «aaData»: response.data[0], это даст вам данные в datatable.
3. Пожалуйста, измените ответ изменением, которое я предлагаю заменить «aaData»: ответ. данные по «aaData»: ответ [0].данные