在DataTable Ajax调用中获取JSON数据出错

时间:2016-11-27 11:14:22

标签: javascript jquery json ajax datatables

我的项目中有一个DataTable,我正在尝试使用通过Ajax调用检索的数据集来填充它,但我在此期间收到错误

这是我的DataTable定义代码:

$("#example").DataTable({
            destroy: true,
            processing: true,
            serverSide: true,
            "columnDefs": [{
                orderable: false,
                targets: 0
            }],
            ajax: {
                type: "POST",
                url: "OpenTicket.aspx/PopulateAllTokens",
                contentType: "application/json; charset=utf-8",
                dataType: "json",
                error: function (XMLHttpRequest, textStatus, errorThrown) {
                    console.log("Request: " + JSON.stringify(XMLHttpRequest) + "\n\nStatus: " + textStatus + "\n\nError: " + errorThrown);
                },
            },
            "columns": [
                {
                    "data": "slno",
                    "fnCreatedCell": function (nTd, sData, oData, iRow, iCol) {
                        $(nTd).html('<a href="AddNewTicket.aspx?subjectID=' + oData.subjectID + '&subject_id=' + oData.subject_id + '&serviceID=' + oData.service_id + '&severityID=' + oData.severityID + '&statusID=' + oData.statusID + '&callerID=' + '66355356' + '">' + oData.slno + '</a>');
                    },
                },
                { "data": "status_message" },
                { "data": "service_id" },
                { "data": "subject_id" },
                { "data": "severity_id" },
                { "data": "user_id" },
                { "data": "status_id" },
                {
                    "data": "caller_number",
                    "fnCreatedCell": function (nTd, sData, oData, iRow, iCol) {
                        console.log(oData.caller_number);
                        $(nTd).html('<button class="btn btn-primary" id= "' + oData.subjectID + '" name="' + oData.caller_number + '">Call Customer</button>');
                    },
                }
            ],
            select: {
                style: 'os',
                selector: 'td:first-child'
            },
            //"data": response,
            "sDom": '<"top">tip'
        });

如果我在AJAX之外使用相同的DataTable调用,则它可以正常工作并且正常返回数据,但是当我将其与DataTable一起使用时,它会给我这个错误:< / p>

  

jquery-1.12.4.js:10254 POST http://localhost:9057/OpenTicket.aspx/PopulateAllTokens 500(内部服务器错误)

     

状态:错误

     

错误:内部服务器错误

我认为DataTable无法读取响应JSON格式,如果这是正确的,任何人都可以建议我如何修复它?

0 个答案:

没有答案