首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DataTables Ajax数据不工作

DataTables Ajax数据不工作
EN

Stack Overflow用户
提问于 2015-08-04 10:17:12
回答 1查看 2.6K关注 0票数 0

请参考下面的代码,当使用innerData时,它是工作的,但当使用outerData时,它不工作,并告诉我:

请求行0的未知参数“徽章”

我的innerDataouterData看起来是一样的,只是值不同。

如果有人能给我指明正确的方向,我会很感激的。

EDIT:Gyrocode.com在下面的评论中建议JSON.parse(outerData),它的功能就像一种魅力。

代码语言:javascript
复制
$("#ButtonSearch").click(function(){
    try {
        companyCode = '<%=Session["comp_code"].ToString()%>';
        $.ajax({
            type: "POST",
            url: "MtForm.aspx/helloWorld",
            dataType: "json",
            contentType: "application/json; charset=utf-8",
            data: "{companyCode:" + JSON.stringify(companyCode) + "}",
            success: function(outerData){
                var innerData = [{"badge":"11111111","name":"John Doe","ext":"2222","dept_name":"3333"},{"badge":"44444444","name":"Jane Doe","ext":"5555","dept_name":"6666"}];

                $('#demo').html( '<table cellpadding="0" cellspacing="0" border="0" class="display" id="example"><thead><tr><th>Badge</th><th>Name</th><th>Ext.</th><th>Dept.</th></tr></thead></table>' );

                $('#example').dataTable({
                    "data": innerData,
                    "columns": [
                        { "data": 'badge' },
                        { "data": 'name' },
                        { "data": 'ext' },
                        { "data": 'dept_name' }
                    ]
                });                        
            },
            error: function(xhr, status, error) {
                console.log(xhr.responseText);
                console.log(status);
                console.log(error);
                alert("error");
            }
        });
    }
    catch(err) {
        alert('Javascript error: ' + err.message);
    }
});
EN

回答 1

Stack Overflow用户

发布于 2015-08-04 10:30:58

DataTables能够从Ajax可以获得的几乎任何JSON数据源读取数据。这可以通过设置ajax选项,以其最简单的形式来完成。见文档

在你的例子中,应该是这样的:

代码语言:javascript
复制
   var table = $('#example').dataTable({
    "ajax": {
        "url": "MtForm.aspx/helloWorld",
        "data": function (d) {
            return JSON.stringify(
                $.extend( {}, d, {
                    "companyCode ": '<%=Session["comp_code"].ToString()%>'
                })
            )
        },
        type: "POST",
        contentType: "application/json",
    },
    deferLoading: true,
    "columns": [
        { "data": 'badge' },
        { "data": 'name' },
        { "data": 'ext' },
        { "data": 'dept_name' }
    ]
});  
// execute request when all necessary data were loaded
table.draw();
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31806593

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档