почему jquery не может быть заполнен данными? - PullRequest
0 голосов
/ 26 августа 2018

Это сводит меня с ума. У меня есть веб-сайт, который отлично работает. 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. Таблица просто говорит Загрузка ...

Я не понимаю, почему это работает одно место, а не другое. Эти черные ящики очень загадочны и их трудно отлаживать Идеи?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...