任何人都可以告诉我如何设置对每个表列的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
});
}
});});
这里String中的响应和响应是
{"UserId" : "Manohar", "Password" : "1234", "Level" : "lev"}
。
以下是jsp页面。
<table id="usertable">
<thead>
<tr>
<th>User Id</th>
<th>Password</th>
<th>Level</th>
</tr>
</thead>
我已经写了上面的内容,我没有收到错误,也没有将行添加到表中。你能帮助我吗?
答案 0 :(得分: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
}); } });
所以这里的响应是String格式,我使用JSON.parse()将其更改为JSON,然后将其作为数据传递给数据表。
答案 1 :(得分:0)
使用此
$(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,
//data : response,
columns: [
{"data" : "UserId"},
{"data" : "Password"},
{"data" : "Level"}
],
searching : false
});
}
});});
仅将jsonObject
更改为data
尝试另一种方法,你可以使用ASP.NET MVC
$(document).ready(function () {
$.get("/userController/list", function (data) {
// console.log(data);
if (data != null) {
$('#usertable').dataTable({
data: data,
columns: [
{"data" : "UserId"},
{"data" : "Password"},
{"data" : "Level"}
],
searching : false
});
}
})
});
答案 2 :(得分: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方法