Это сводит меня с ума. У меня есть веб-сайт, который отлично работает. Datatable заполняется из вызова .php ajax. Я перенес этот код на другой веб-сайт. Идентичный вызов ajax, но на этот раз не будет заполняться!
Вот js того, кто работает:
$('#divTable').DataTable({
"ajax": "screen_highYield.php",
"columns": [
{ "data": "Symbol" },
{ "data": "CompanyName" },
{ "data": "ExDivDate" },
{ "data": "Dividend" },
{ "data": "DivYield" },
{ "data": "DivFrequency" },
{ "data": "DivPayDate" }
]
});
И HTML:
<div id="highYieldDiv">
<table id="divTable" class="display" style="width:100%">
<thead>
<tr>
<th>Symbol</th>
<th>Company Name</th>
<th>Ex-Div<br>Date</th>
<th>Dividend</th>
<th>Div<br>Yield%</th>
<th>Div<br>Frequency</th>
<th>Pay Date</th>
</tr>
</thead>
</table>
</div>
Вот js того, кто терпит неудачу:
$('#divTable').DataTable({
"ajax": {
url: "screen_highYield.php",
"done": function() {
alert('done');
},
"success": function(data) {
console.log(JSON.stringify(data));
},
"error": function(jqXHR, textStatus, errorThrown) {
alert('error');
},
"initComplete": function(settings, json) {
alert( 'DataTables has finished its initialisation.' );
}
},
"columns": [
{ "data": "Symbol" },
{ "data": "CompanyName" },
{ "data": "ExDivDate" },
{ "data": "Dividend" },
{ "data": "DivYield" },
{ "data": "DivFrequency" },
{ "data": "DivPayDate" }
]
});
И HTML:
<div id="highYieldDiv">
<table id="divTable" class="display" style="width:100%">
<thead>
<tr>
<th>Symbol</th>
<th>Company Name</th>
<th>Ex-Div<br>Date</th>
<th>Dividend</th>
<th>Div<br>Yield%</th>
<th>Div<br>Frequency</th>
<th>Pay Date</th>
</tr>
</thead>
</table>
</div>
Я добавил «done», «success», «error» и «initComplete» в попытке выяснить, в чем дело. На консоль ничего не выводилось. Затем я переместил js в функцию $ (document) .ready, а затем получил «успех» для запуска. (Не нужно было делать это в том, который работает.) Я взял вывод json и проверил, что это действительно json, используя jsonlint. Таблица просто говорит Загрузка ...
Я не понимаю, почему это работает одно место, а не другое. Эти черные ящики очень загадочны и их трудно отлаживать Идеи?