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 エラーが発生していないことを確認しました。ログにエラーはありません。コンソールも見ました。スクリプト エラーはありません。ここで何が欠けているのか、誰にもアイデアがありますか?
`