为什么我打电话给这个系列时会出错?我需要将这个集合绑定到我的Gridview控件.....
C#代码:
[WebMethod]
public static List<Customer> GetAllCustomers()
{
using (masterEntities context = new masterEntities())
{
return context.Customer.ToList();
}
protected void Page_Load(object sender, EventArgs e)
{
DataTable table = new DataTable();
table.Columns.Add("id");
table.Columns.Add("Name");
table.Columns.Add("Age");
table.Rows.Add();
GridView1.DataSource = table;
GridView1.DataBind();
}
Ajax代码:
function GetCustomers() {
$.ajax({
type: "POST",
url: "12.aspx/GetAllCustomers",
data: '{}',
contentType: "application/json; charset=utf-8",
dataType: "json",
success: OnSuccess,
error: function (data) {
alert(data.d);
}
});
function OnSuccess(data) {
for (var i = 0; i < data.d.length; i++) {
$("#GridView1").append("<tr><td>" + data.d[i].Id + "</td><td>" + data.d[i].Name + "</td><td>" + data.d[i].Age + "</td></tr>");
}
}
这是我打电话给那个系列时得到的 http://s22.postimg.org/6qv6tr8g1/aaaaaaaaaaaaaaaaa.jpg
答案 0 :(得分:0)
问题在于$.ajax
错误处理程序:
error: function (data) {
alert(data.d);
}
这样编写的错误hanlder,很少提供有关失败请求发生的信息。编写错误处理程序的更好方法是:
error: function (jqXHR, textStatus, errorThrown ) {
console.log(jqXHR);
console.log(jqXHR.responseText);
}
使用这种方式编写错误处理程序,您可以查看例如Chrome开发者工具的控制台窗口,查看jqXHR.responseText的值,其中包含错误的详细错误说明。
虽然在部署Web应用程序时要小心将console.log语句替换为更有意义的错误消息。
这是jQuery API文档的链接(查找错误处理程序描述):http://api.jquery.com/jQuery.ajax/
希望这有帮助!
此致 乌罗什