【发布时间】:2016-01-14 17:08:37
【问题描述】:
我是 JQuery 和 API 的新手,在这里我尝试从 SQL 中以 JSON 格式检索数据,然后将其绑定到表。当我调试时,数据在这里返回return details.ToString();,但它没有将数据绑定到表中。这里有什么错误吗?
控制器:
public class EmployeeController : ApiController
{
static EmpRepository repository = new EmpRepository();
public string GetData(Employee Em) {
var re = repository.GetData(Em);
return re;
}
}
存储库类:
public string GetData(Employee Em)
{
DataTable dt = new DataTable();
List<Employee> details = new List<Employee>();
connection();
com = new SqlCommand("select FirstName, LastName, Company from Employee", con);
con.Open();
SqlDataAdapter da = new SqlDataAdapter(com);
da.Fill(dt);
foreach (DataRow dr in dt.Rows)
{
Employee user = new Employee();
//user.Id = Int32.Parse(string dr["Id"]);
user.FirstName = dr["FirstName"].ToString();
user.LastName = dr["LastName"].ToString();
user.Company = dr["Company"].ToString();
details.Add(user);
}
return details.ToString();
}
JQuery:
$(document).ready(function DisplayResult() {
var Emp = {};
var url = 'api/Employee/GetData';
$.ajax({
type: "POST",
url: url,
contentType: "application/json;charset=utf-8",
//data: {},
dataType: "json",
success: function (data) {
for (var i = 0; i < data.d.length; i++)
{
$("#tbDetails").appendTo("<tr><td>" + data.d[i].FirstName + "</td><td>" + data.d[i].LastName + "</td><td>" + data.d[i].Company + "</td></tr>");
}
},
error: function (result) {
alert("error");
}
});
});
【问题讨论】:
-
您将其作为
string从api返回,并期望json作为ajax中的响应,并设置dataType: "json"属性。尝试从api返回Json数据.. -
如何从api返回
josn? -
曾经尝试过
return details; -
最后把
public string GetData改成public JsonResult GetData和return Json(details).. -
此代码
return Json(details)显示错误,名称json在当前上下文中不存在!