【发布时间】:2017-11-23 21:43:08
【问题描述】:
我是一个初学者,当另一个下拉列表选择的索引发生变化时,我想使用 ajax 将一些数据从数据库加载到下拉列表 但我得到的只是 500 错误 我的 jquery ajax 代码
function ddlGroups() {
var s = $("#Content_ddlGroups").find("option:selected").prop("value");
$.ajax({
method: "GET",
contentType: "application/json; charset=utf-8",
//url is the path of our web method (Page name/function name)
url: "../panels/admin/AddProject.aspx/getSubgroups",
data: { Id: s },
dataType: "json",
//called on jquery ajax call success
success: function (result) {
$('#Content_SubGroups').empty();
$.each(result.d, function (key, value) {
$("#Content_ddlGroups").append($("<option></option>").val(value.GroupID).html(value.Title));
});
},
//called on jquery ajax call failure
error: function ajaxError(result) {
alert(result.status + ' : ' + result.statusText);
}
});
};
还有我的 c# 代码
[WebMethod]
[ScriptMethod(UseHttpGet = true)]
public static List<Group> getSubgroups(string Id)
{
DataTable dt = new DataTable();
List<Group> objDept = new List<Group>();
GroupsRepository jg = new GroupsRepository();
//Page page = (Page)HttpContext.Current.Handler;
//DropDownList DDLGroups = (DropDownList)page.FindControl("DDLGroups");
dt = jg.LoadSubGroup(Id.ToInt());
if (dt.Rows.Count > 0)
{
for (int i = 0; i < dt.Rows.Count; i++)
{
objDept.Add(new Group
{
GroupID = Convert.ToInt32(dt.Rows[i][0]),
Title = dt.Rows[i][1].ToString(),
});
}
}
return objDept;
}
有什么问题??
【问题讨论】:
-
500 表示抛出异常。您可以调试您的代码,或者至少添加一个
try-catch。 -
要添加到 Camilo 的评论,错误发生在“getSubgroups”代码中,因此您需要添加 try catch 以查看实际错误。
-
@Sparrow 我怎样才能看到错误?我在代码中添加了 try catch 但我不知道如何显示错误
-
嗯...您可以在 catch 块中添加一些语句来记录(写入)异常的消息和/或某处的堆栈跟踪(通常应用程序有这些日志的文件或表)。您还可以在服务中设置断点并手动调试。 Yo 甚至可以使用 Debug 类(在 System.Diagnostics 命名空间中)来查看哪一行抛出异常以及异常是什么
-
由于您是初学者,我认为最简单的选择是使用诊断
标签: javascript c# jquery asp.net ajax