jquery 数据表插件在 asp.net 网络服务中不起作用
jquery datatables pluginis is not work in asp.net web services
我正在做一个项目,我点击人物图像部分及其显示 symptoms.For 我使用网络服务 return json 数据 perfectly.here 是我的网络服务代码:
public class SympsService : System.Web.Services.WebService
{
[WebMethod]
public void GetSymptoms(String organ_name)
{
List<symps> listSymptoms = new List<symps>();
string CS=ConfigurationManager.ConnectionStrings["EhealtsCS"].ConnectionString;
using (SqlConnection con = new SqlConnection(CS))
{
SqlCommand cmd = new SqlCommand("sendSymptoms", con);
cmd.CommandType = CommandType.StoredProcedure ;
SqlParameter parameter = new SqlParameter();
parameter.ParameterName = "@organ";
parameter.Value = organ_name;
cmd.Parameters.Add(parameter); con.Open();
SqlDataReader rdr = cmd.ExecuteReader();
while (rdr.Read())
{
symps symp = new symps();
symp.Sympt = rdr["SymptomsName"].ToString();
listSymptoms.Add(symp);
}
JavaScriptSerializer js = new JavaScriptSerializer();
Context.Response.Write(js.Serialize(listSymptoms));
}
我使用 jquery 数据 tables 插件绑定 table.But 中的数据 table.But 当我点击图像时,我的 jquery 代码没有显示 json table.Here 上的数据是我的 Jquery 代码:
if (e.key === 'toes'){
$.ajax({
url: "SympsService.asmx/GetSymptoms",
data:{ organ_name: toes},
method: "post",
dataType: "json",
success: function (data){
var Variable = $('#symptomsTable').DataTable({
data: data,
columns: [ { 'data': 'Sympt' }]
});
},
error: function (error)
{console.log(error);}
});
}
我也试过 jquery 在 table 中显示 json 数据,但这不起作用:
success: function (data) {
var symptomsTable = $('#symptomsTable tbody');
symptomsTable.empty();
$(data).each(function(index,symp) {
symptomsTable.append('<tr><td>' + symp.sympt + '</td></tr>');
});
}
拜托,任何人都可以告诉我我的 code.any 类帮助有什么问题,将不胜感激。
不确定这是否是最好的方式,但这是我通常从网络 api 调用 returns json 中滋润我的数据表的方式。
我通常会创建一个函数来保存我的行。像
function category(id, name, action) {
var self = this;
this.id = id;
this.name = name;
this.action = action;
}
function model() {
var self = this;
this.categories = [];
}
var mymodel = new model();
然后在 ajax 调用成功后,我将行推入数组。
success: function (data){
$.each(data, function( i, item ) {
mymodel.categories.push(new category(item.id, item.category, item.action));
});
var table = $('#mytable').DataTable({
data: mymodel.categories,
columns: [{
data: 'id'
}, {
data: 'name'
}, {
data: 'action'
}
],
dom: '<"toolbar">frtip'
});
},
使用 data:{ organ_name: "toes"}
而不是 data:{ organ_name: toes}
。
请务必仔细检查您的代码,否则您将像我一样成为傻瓜。
我正在做一个项目,我点击人物图像部分及其显示 symptoms.For 我使用网络服务 return json 数据 perfectly.here 是我的网络服务代码:
public class SympsService : System.Web.Services.WebService
{
[WebMethod]
public void GetSymptoms(String organ_name)
{
List<symps> listSymptoms = new List<symps>();
string CS=ConfigurationManager.ConnectionStrings["EhealtsCS"].ConnectionString;
using (SqlConnection con = new SqlConnection(CS))
{
SqlCommand cmd = new SqlCommand("sendSymptoms", con);
cmd.CommandType = CommandType.StoredProcedure ;
SqlParameter parameter = new SqlParameter();
parameter.ParameterName = "@organ";
parameter.Value = organ_name;
cmd.Parameters.Add(parameter); con.Open();
SqlDataReader rdr = cmd.ExecuteReader();
while (rdr.Read())
{
symps symp = new symps();
symp.Sympt = rdr["SymptomsName"].ToString();
listSymptoms.Add(symp);
}
JavaScriptSerializer js = new JavaScriptSerializer();
Context.Response.Write(js.Serialize(listSymptoms));
}
我使用 jquery 数据 tables 插件绑定 table.But 中的数据 table.But 当我点击图像时,我的 jquery 代码没有显示 json table.Here 上的数据是我的 Jquery 代码:
if (e.key === 'toes'){
$.ajax({
url: "SympsService.asmx/GetSymptoms",
data:{ organ_name: toes},
method: "post",
dataType: "json",
success: function (data){
var Variable = $('#symptomsTable').DataTable({
data: data,
columns: [ { 'data': 'Sympt' }]
});
},
error: function (error)
{console.log(error);}
});
}
我也试过 jquery 在 table 中显示 json 数据,但这不起作用:
success: function (data) {
var symptomsTable = $('#symptomsTable tbody');
symptomsTable.empty();
$(data).each(function(index,symp) {
symptomsTable.append('<tr><td>' + symp.sympt + '</td></tr>');
});
}
拜托,任何人都可以告诉我我的 code.any 类帮助有什么问题,将不胜感激。
不确定这是否是最好的方式,但这是我通常从网络 api 调用 returns json 中滋润我的数据表的方式。
我通常会创建一个函数来保存我的行。像
function category(id, name, action) {
var self = this;
this.id = id;
this.name = name;
this.action = action;
}
function model() {
var self = this;
this.categories = [];
}
var mymodel = new model();
然后在 ajax 调用成功后,我将行推入数组。
success: function (data){
$.each(data, function( i, item ) {
mymodel.categories.push(new category(item.id, item.category, item.action));
});
var table = $('#mytable').DataTable({
data: mymodel.categories,
columns: [{
data: 'id'
}, {
data: 'name'
}, {
data: 'action'
}
],
dom: '<"toolbar">frtip'
});
},
使用 data:{ organ_name: "toes"}
而不是 data:{ organ_name: toes}
。
请务必仔细检查您的代码,否则您将像我一样成为傻瓜。