为什么不填充jquery数据表?

时间:2018-08-26 05:15:24

标签: javascript jquery datatables

这真让我发疯。我有一个工作正常的网站。数据表是通过.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>

我添加了“完成”,“成功”,“错误”和“ initComplete”以试图找出问题所在。什么都没有输出到控制台。然后我将js移至$(document).ready函数,然后触发“成功”。 (不必在可行的方法中执行此操作。)我将其输出的json进行了验证,并使用jsonlint验证了它是有效的json。桌子上只显示正在加载...

我不明白为什么它在一个地方而不是另一个地方起作用。这些黑匣子是如此神秘且难以调试。想法?

0 个答案:

没有答案