使用 Ajax Jquery 将 Json 结果返回的数据数组放入 DataTable 中

Posted

技术标签:

【中文标题】使用 Ajax Jquery 将 Json 结果返回的数据数组放入 DataTable 中【英文标题】:Put array of data return from Json Result Inside DataTable Using Ajax Jquery 【发布时间】:2019-11-08 08:40:09 【问题描述】:

请你帮我解决这个问题, 我正在尝试使用 ajax jquery 从数据表中的 JSON 获取数据和对象数组,但数据表没有读取数组的列

$('#Item_Table').DataTable(
        Ajax: 
            url: '/Inv_Items/GetItemByOrgId',
            dataSrc: ""
        ,

列:

            
                data: "Item_ID",
                render: function (data, type, Item) 
                    return '<button class="fa fa-edit btn-sm btn btn-success" onclick="EditItem(' + Item.Item_ID + ');" value="Edit" id="Editcategory"></button> &nbsp;' + '<button class="fa fa-edit btn-sm btn btn-success" onclick="DeleteItem(this,' + Item.Item_ID + ');" value="Delete" id="Deletecategory"></button>'
                
            ,
            data: "English_Name" ,
            data: "Arabic_Name" ,
            data: "Purchase_Price" ,
            data: "Unit_ArabicName" ,
            data: "Unit_EngName" ,
            data: "Itm_Attr_Values[0].CatEngName",
            data: "Itm_Attr_Values[0].CatArabName ] 

它在数组的最后两列中返回错误的结果。

我期望这样的输出

["Item_ID":54,Arabic_Name":"سير مجموعه","English_Name":"Ser Groups","Purchase_Price":12000","Unit_ArabicName":"قطعة","Unit_EngName":"Piece" ,"Itm_Attr_Values":["ID":1054,"Value":"200,215,201","ItemID":54,"AttrID":1017,"AttName":"بيجو","CatArabName":"صيانات سريعة", "CatEngName":"快速维护","ID":1055,"Value":"200,500","ItemID":54,"AttrID":1018,"AttName":"رينو","CatArabName":" صيانات سريعة","CatEngName":"快速维护"], ,但实际输出给了我这样的列中的数组数据 صيانات سريعه0صيانات سريعه

【问题讨论】:

【参考方案1】:

如果您发布的代码正是您正在使用的代码,那么您只是错过了Itm_Attr_Values[0].CatArabName 附近的双引号。

$('#Item_Table').DataTable(
        ajax: 
            url: '/Inv_Items/GetItemByOrgId',
            dataSrc: ""

        ,
 columns: [
            
                data: "Item_ID",
                render: function (data, type, Item) 
                    return '<button class="fa fa-edit btn-sm btn btn-success" onclick="EditItem(' + Item.Item_ID + ');" value="Edit" id="Editcategory"></button> &nbsp;' + '<button class="fa fa-edit btn-sm btn btn-success" onclick="DeleteItem(this,' + Item.Item_ID + ');" value="Delete" id="Deletecategory"></button>'
                
            ,
            data: "English_Name" ,
            data: "Arabic_Name" ,
            data: "Purchase_Price" ,
            data: "Unit_ArabicName" ,
            data: "Unit_EngName" ,
            data: "Itm_Attr_Values[0].CatEngName",
            data: "Itm_Attr_Values[0].CatArabName" ] // Missing closing " here

【讨论】:

不,我没有错过结束我只是忘记张贴代码的结尾

以上是关于使用 Ajax Jquery 将 Json 结果返回的数据数组放入 DataTable 中的主要内容,如果未能解决你的问题,请参考以下文章

为每个 cURL 请求返​​回 AJAX 结果

使用 JSON 结果填充下拉列表 - 使用 MVC3、JQuery、Ajax、JSON 的级联下拉

jQuery AJAX 轮询 JSON 响应,基于 AJAX 结果或 JSON 内容进行处理

使用 jQuery/AJAX 从 JSON 数据中过滤带有复选框的结果

如何将 JSON 对象内的 JSON 数组传递给 jQuery 自动完成

Django 2021年最新版教程18jquery ajax实例 json