【发布时间】:2017-06-04 23:12:33
【问题描述】:
我正在做一个项目,我点击人类图像部分并显示症状。为此,我使用完美返回 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 datatables 插件来绑定表中的 json 数据。但是当我单击图像时,我的 jquery 代码没有在表上显示 json 数据。这是我的 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 在表中显示 json 数据,但这不起作用:
success: function (data) {
var symptomsTable = $('#symptomsTable tbody');
symptomsTable.empty();
$(data).each(function(index,symp) {
symptomsTable.append('<tr><td>' + symp.sympt + '</td></tr>');
});
}
请,谁能告诉我我的代码有什么问题。任何形式的帮助将不胜感激。
【问题讨论】:
-
在您的
success元素之后,您能否通过添加console.log(data)并告诉我们您获得的信息来确保您获得了正确的数据? -
@jonmrich 谢谢你..我只是检查一下。它显示 Uncaught ReferenceError: toes is not defined 在这一行:'data:{organ_name:toes}' 你能告诉我这是什么意思吗?
-
@jonmrich 谢谢你的建议......这是一个错误......当我使用 console.log(data) 时,我发现了。我需要使用“脚趾”而不是脚趾。
-
很高兴它有帮助!
标签: jquery asp.net json web-services asp.net-ajax