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}。 请务必仔细检查您的代码,否则您将像我一样成为傻瓜。