我在 jQuery 中进行 ajax 调用时遇到问题。做了一百万次之后,我知道我在这里遗漏了一些非常愚蠢的东西。这是我进行 ajax 调用的 javascript 代码:
function editEmployee(id) {
$('#<%= imgNewEmployeeWait.ClientID %>').hide();
$('#divAddNewEmployeeDialog input[type=text]').val('');
$('#divAddNewEmployeeDialog select option:first-child').attr("selected", "selected");
$('#divAddNewEmployeeDialog').dialog('open');
$('#createEditEmployeeId').text(id);
var inputEmp = {};
inputEmp.id = id;
var jsonInputEmp = JSON.stringify(inputEmp);
debugger;
alert('Before Ajax Call!');
$.ajax({
type: "POST",
url: "Configuration.aspx/GetEmployee",
data: jsonInputEmp,
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (msg) {
alert('success');
},
error: function (msg) {
alert('failure');
}
});
}
这是我试图调用的 CS 代码:
[WebMethod]
public static string GetEmployee(int id)
{
var employee = new Employee(id);
return Newtonsoft.Json.JsonConvert.SerializeObject(employee, Newtonsoft.Json.Formatting.Indented);
}
当我尝试运行它时,我确实收到了警报,上面写着Before Ajax Call!
. 但是,我从来没有收到过这样的提示success
或提示failure
。我确实进入了我的 CS 代码并在该GetEmployee
方法上放置了一个断点。断点确实命中,所以我知道 jQuery 成功调用了该方法。我逐步完成了该方法,它执行得很好,没有错误。我只能假设当 jQuery ajax 调用从调用返回时发生错误。
另外,我查看了我的事件日志只是为了确保没有发生 ASPX 错误。日志中没有错误。我还看了看控制台。没有脚本错误。有人知道我在这里缺少什么吗?
`