JQuery DataTable AJAX зависает при загрузкеJquery

Программирование на jquery
Anonymous
JQuery DataTable AJAX зависает при загрузке

Сообщение Anonymous »

Невозможно пройти мимо сообщения «Загрузка...» в DataTables с помощью Ajax. Я никогда раньше не использовал DataTables с AJAX, поэтому это может быть что-то простое.
Вот HTML и jQuery:

Код: Выделить всё




FirstName
LastName
StudentID
ShoppingCartID






@section scripts {

$(function () {
$('#StudentGrid').DataTable(
{
ajax: {
url: '/DataTableReload?handler=LoadStudent',
type: 'GET',
dataType: 'json',
dataSrc: 'data'
},
"autoWidth": false,
"width": "55%",
"language": { "search": "Find" },
"oLanguage": { "sEmptyTable": "No students"},
"columnDefs":
[
{ data: "FirstName", "width": "70px", "targets": 0 },
{ data: "LastName", "width": "70px", "targets": 1 },
{ data: "StudentID", "width": "70px", "targets": 2 },
{ data: "ShoppingCartID", "width": "70px", "targets": 3 },
]
})
});
а вот код OnGet на странице DataTableReload:

Код: Выделить всё

public JsonResult OnGetLoadStudent(string parms) {
List students = new List();
int studentId = int.Parse(DateTime.Now.ToString("hhmmss"));
students.Add(new StudentData((++studentId).ToString(), "Jim", "Miller", "555555"));
students.Add(new StudentData((++studentId).ToString(), "Tim", "Thomas", "123456"));
students.Add(new StudentData((++studentId).ToString(), "Zeb", "Zagreb", "787878"));

AjaxResponse ajaxResponse = new AjaxResponse(students);
string json = JsonConvert.SerializeObject(ajaxResponse);
return new JsonResult(json);
}
public class AjaxResponse {
public AjaxResponse(List Data) {
data = Data;
}

public List data { get; set; }
}
public class StudentData {

public StudentData(
string studentID, string firstName, string lastName, string shoppingCartID) {
StudentID = studentID;
FirstName = firstName;
LastName = lastName;
ShoppingCartID = shoppingCartID;
}

public string? StudentID { get; set; } = string.Empty;
public string? FirstName { get; set; } = string.Empty;
public string? LastName { get; set; } = string.Empty;
public string? ShoppingCartID { get; set; } = string.Empty;
}
Аргумент json в return new JsonResult(json) выглядит следующим образом (и возврат выполняется):

Код: Выделить всё

{"data":[
{"StudentID":"81744","FirstName":"Jim","LastName":"Miller","ShoppingCartID":"555555"},
{"StudentID":"81745","FirstName":"Tim","LastName":"Thomas","ShoppingCartID":"123456"},
{"StudentID":"81746","FirstName":"Zeb","LastName":"Zagreb","ShoppingCartID":"787878"}
]}
Я видел несколько примеров, где dataSrc определяется как функция. Это необходимо?

Подробнее здесь: https://stackoverflow.com/questions/785 ... on-loading

Вернуться в «Jquery»