jquery datatables插件在asp.net web服务中不起作用
我正在从事一个项目,在该项目中,我单击了人类图像部分并显示其症状。为此,我使用了能够完美返回json数据的web服务。以下是我的web服务代码:jquery datatables插件在asp.net web服务中不起作用,jquery,asp.net,json,web-services,asp.net-ajax,Jquery,Asp.net,Json,Web Services,Asp.net Ajax,我正在从事一个项目,在该项目中,我单击了人类图像部分并显示其症状。为此,我使用了能够完美返回json数据的web服务。以下是我的web服务代码: public class SympsService : System.Web.Services.WebService { [WebMethod] public void GetSymptoms(String organ_name) { List<symps> listSymptoms = new Li
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在表中显示json数据,但这不起作用:
success: function (data) {
var symptomsTable = $('#symptomsTable tbody');
symptomsTable.empty();
$(data).each(function(index,symp) {
symptomsTable.append('<tr><td>' + symp.sympt + '</td></tr>');
});
}
成功:函数(数据){
变量symptomsTable=$(“#symptomsTable tbody”);
空();
$(数据)。每个(函数(索引、符号){
症状稳定。追加(“”+symp.sympt+“”);
});
}
请问,谁能告诉我我的代码出了什么问题。任何帮助都将不胜感激 不确定这是否是最好的方法,但我通常是这样从返回json的web api调用中提取数据表的 我通常做一个函数来保存我的行。差不多
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'
});
},
成功:函数(数据){
$。每个(数据、功能(i、项){
mymodel.categories.push(新类别(item.id、item.category、item.action));
});
变量表=$('#mytable')。数据表({
数据:mymodel.categories,
栏目:[{
数据:“id”
}, {
数据:“名称”
}, {
数据:“行动”
}
],
多姆:“frtip”
});
},
使用数据:{organg\u name:toes}
代替数据:{organg\u name:toes}
。
请务必仔细检查您的代码,否则您会像我一样成为一个傻瓜。在您的
元素成功后,您是否可以通过添加控制台.log(data)
并让我们知道您得到了什么来确保您得到了正确的数据?@jonmrich谢谢。我只是检查一下。它显示了未捕获的引用错误:这一行中没有定义脚趾:“数据:{Organe_name:toes}”你能告诉我这是什么意思吗?@jonmrich感谢你的建议。。。这是一个错误。当我使用console.log(数据)时,我发现。我需要用“脚趾”而不是脚趾。很高兴它有帮助@谢谢你的建议。我也尝试你的方式,它也工作。
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'
});
},