如何设置 AJAX 响应到 jquery 数据表列?

新手上路,请多包涵

谁能告诉我如何将对 jquery 数据的响应设置为每个表列。

这是我的javascript代码:

 $(document).ready (function() {
$.ajax({
    url: 'userController?action=list',
    success : function(response) {
        var jsonObject = $.parseJSON(response);
        alert(jsonObject.Password);
        alert(jsonObject.UserId);
        $('#usertable').dataTable( {
            data : jsonObject,
            columns: [
                      {'jsonObject' : 'UserId'},
                      {'jsonObject' : 'Password'},
                      {'jsonObject' : 'Level'},
                      ],
            searching : false
        });
    }
});});

这里的字符串响应和响应是 {"UserId" : "Manohar", "Password" : "1234", "Level" : "lev"}

下面是jsp页面。

 <table id="usertable">
<thead>
    <tr>
        <th>User Id</th>
        <th>Password</th>
        <th>Level</th>
    </tr>
</thead>

我已经写了上面的内容,但我没有收到错误,也没有将该行添加到表中。你们能帮我吗?

原文由 manohar e 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 302
2 个回答

这里的解决方案是更改响应。之前是{“userid”:“manohar”, “password”:“1234”},现在改成了[[“manohar”, “1234”]]。然后在js文件中

$.ajax({
    url: 'userController?action=list',
    success : function(data, textStatus, jqXHR) {
        var table_data = JSON.parse(data);
        var table = $('#usermaintenancetable').DataTable( {
            data: table_data
}); } });

所以这里的响应是字符串格式,我使用 JSON.parse() 将其更改为 JSON,然后将其作为数据传递给数据表。

原文由 manohar e 发布,翻译遵循 CC BY-SA 3.0 许可协议

您不应该在成功方法中重新初始化数据表。一旦你有 json 对象响应,你应该使用 row.add() 方法,

Sol 1:(用于循环 JSON 对象)

 success:function(data, textStatus, jqXHR) {
    $.each(data, function (i,item) {
        var rowNode= [ item.UserId, item.Password, item.Level]
        dataTable.row.add(rowNode).draw();
    });
}

Sol 2 :(对于 JSON 字符串值)

 success:function(data, textStatus, jqXHR) {
        var jsonData = JSON.parse(data);
        var rowNode= [ jsonData.UserId, jsonData.Password, jsonData.Level]
        dataTable.row.add(rowNode).draw();
}

上面的代码一次添加一行。要一次添加多行,请使用 rows.add() API 方法

原文由 Lucky 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏