0

MVCアプリケーションでサーバーサイドのjquerydatatablesを使用しています。コントローラメソッド「FillTable」にブレークポイントを設定すると、IEで初めて実行に到達します。戻ってページをリロードし、データが異なる場合、関数は呼び出されません。Firefoxを試してみると、リロードのたびに問題なくブレークポイントに到達します。これが私のコードです。

$(document).ready(function() {
    $('.details').dataTable({
        "bServerSide": true,
        "bProcessing": true,
        "sPaginationType": "full_numbers",
        "sAjaxSource": "../PrepareStatements/FillTable",
        "aoColumns": [
            { "sTitle": "#" },
            { "sTitle": "Date" },
            { "sTitle": "Remarks" },
            { "sTitle": "Dr/Cr" },
            { "sTitle": "Amount"}]
    });
});

私のデータテーブルは

<table width="100%" class="details"  id="eDataTable"></table>

しかし、表示行数を変更した場合は、ページ付けをクリックするか、検索を実行してください。誰かがこれについて私を助けてくれませんか。

4

1 に答える 1

2

わかりました私は解決策を見つけました。IE は GET 要求を使用してデータ結果をキャッシュする傾向があるため、POST を追加する必要があります。関数に以下を追加しましたが、現在は正常に動作しています。

$(document).ready(function() {
    $('.details').dataTable({
        "bServerSide": true,
        "bProcessing": true,
        "sPaginationType": "full_numbers",
        "sAjaxSource": "../PrepareStatements/FillTable",
        "fnServerData": function(sSource, aoData, fnCallback) {
            $.ajax({ "dataType": 'json',
                "type": "POST",
                "url": sSource,
                "data": aoData,
                "success": fnCallback
            });
        },
        "aoColumns": [
            { "sTitle": "#" },
            { "sTitle": "Date" },
            { "sTitle": "Remarks" },
            { "sTitle": "Dr/Cr" },
            { "sTitle": "Amount"}]
    });
});
于 2010-10-05T04:54:11.840 に答える