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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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