jquery datatables插件在asp.net 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

我正在从事一个项目,在该项目中,我单击了人类图像部分并显示其症状。为此,我使用了能够完美返回json数据的web服务。以下是我的web服务代码:

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'

  });

                },