Datatables.net Аякс не работает-почему?
Код, который я прокомментировал, не работает. Он потерпел неудачу по ошибке: функция.... почему?
Я закончил тем, что использовал loadData() функцию обхода работы для выполнения этой задачи.
Может ли кто-нибудь сказать, что с ним не так (нерабочий код)?
Я могу опубликовать больше кода, если вам нужно больше...
Спасибо.
-------
<script type="text/javascript"> $(document).ready(function () { loadData(); }); // What is wrong with the code? //$(document).ready(function () { //var refDataTable = $("#example").dataTable({ // processing: true, // serverSide: true, // ajax: { // data: '{}', // type: "POST", // url: "BolAddress.aspx/GetAddress", // contentType: "application/json; charset=utf-8", // dataType: "json", // success: function (response) { // alert(response.d); // }, // failure: function (response) { // alert(response.d); // }, // error: function (response) { // alert(response.d); // } // }, // columns: [ // { data: "CardId" }, // { data: "CardType" }, // { data: "Company" }, // { data: "Address" }, // { data: "City" }, // { data: "State" }, // { data: "Zip" }, // { data: "Phone" }, // { data: "Contact" }, // { data: "Description" } // ] //}) //}); // ------------------------------------------ function loadData() { $.ajax({ type: "POST", url: "BolAddress.aspx/GetAddress", data: '{}', contentType: "application/json; charset=utf-8", dataType: "json", success: function (response) { OnSuccess(response); }, failure: function (response) { alert(response.d); }, error: function (response) { alert(response.d); } }); }; function OnSuccess(response) { var cards = response.d; var cardtable = $("#example"); $(cards).each(function () { var row = $("<tr />"); cardtable.append(row); row.append($("<td>" + this.CardId + "</td>")); row.append($("<td>" + this.CardType + "</td>")); row.append($("<td>" + this.Company + "</td>")); row.append($("<td>" + this.Address + "</d>")); row.append($("<td>" + this.City + "</td>")); row.append($("<td>" + this.State + "</td>")); row.append($("<td>" + this.Zip + "</td>")); row.append($("<td>" + this.Phone + "</td>")); row.append($("<td>" + this.Contact + "</td>")); row.append($("<td>" + this.Description + "</td>")); }); var refDataTable = $("#example").dataTable(); } </script>
Что я уже пробовал:
Это не работает, несмотря ни на что. Он потерпел неудачу на "ошибке:" и предупредил меня ответом.
Patrice T
И вы планируете сообщить нам точное сообщение об ошибке и положение или мы должны догадаться ?
Member 359326
Спасибо, что занялись этим вопросом. Я это очень ценил.
ошибка:недопустимый формат JSON примитивные из логики
ошибка: функция (ответ) {
предупреждение(ответ.д);
}
Он говорит {\"Message\":\ " Invalid JSON primitive:... в отладчике.
Проблема связана с данными: '{} ' и serverside: true. Я действительно изменил их на data: {} и bserverside: true, тогда я получил, что это работает частично.
Он загружает данные со стороны сервиса, но datatables.net не загружает их автоматически.
Вот вторая версия этого кода.
===============================
$(документ).готово(функция () {
var refDataTable = $("#example"). dataTable({
обработка: true,
bserverSide: правда,
Аякс: {
данные: {},
тип: "пост",
url: "BolAddress. aspx/GetAddress",
contentType: "application/json; charset=utf-8",
тип данных: "json",
успех: OnSuccess,
отказ: функция (ответ) {
предупреждение(ответ.д);
},
ошибка: функция (ответ) {
предупреждение(ответ.responseText);
}
},
"колонки": [
{"данные": "CardId" },
{"data": "CardType" },
{"данные": "компания" },
{ "адрес данных" },
{"данные": "город" },
{"данные": "состояние" },
{"данные": "Zip" },
{"данные": "телефон" },
{ "данные": "контакт" },
{ "описание данных" }
]
})
});
и я должен загрузить данные вручную в datatables, но это не работает правильно.
функция OnSuccess(ответ) {
ВАР карт = ответ.д;
var cardtable = $("#пример");
$(карты). each (функция () {
ВАР строки = $("");
cardtable. append(строка);
row. append($("" + this.CardId + ""));
row. append($("" + this.CardType + ""));
row. append($("" + this.Компания + ""));
row. append($("" + this.Адрес + ""));
row. append($("" + this.Город + ""));
row. append($("" + this.Государство + ""));
row. append($("" + this.Zip + ""));
row. append($("" + this.Телефон + ""));
row. append($("" + this.Контакт + ""));
row. append($("" + this.Описание + ""));
});
var refDataTable = $("#example"). dataTable();
}
ZurdoDev
1. Вы отметили этот вопрос как C, но ясно, что это не C, это JavaScript. Пожалуйста, исправьте это.
2. Вы сказали: "это не удалось из-за ошибки: функция ... почему?" Откуда нам знать? Раскомментируйте код, запустите его, получите ошибку и точную строку, которая вызывает ошибку, и тогда кто-то может помочь. Ошибка подскажет вам, что происходит.
Member 359326
Это мой первый раз, когда я публикую свой вопрос здесь. Я постараюсь исправить.
Member 359326
Я оглядываюсь... Я не вижу никаких ссылок, которые я мог бы изменить.:(
Member 359326
Я оглядываюсь... Я не вижу никаких ссылок, чтобы изменить категорию...:(.
ZurdoDev
Нажмите кнопку улучшить вопрос
Patrice T
Воспользуйся Улучшить вопрос чтобы обновить ваш вопрос.
Чтобы каждый мог обратить внимание на эту информацию.