jQuery ajax调用没有';我好像什么都没做

本文关键字:什么 调用 ajax jQuery | 更新日期: 2023-09-27 18:19:50

我在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!的警报。然而,我从来没有收到一个写着successfailure的警报。我确实进入了CS代码,并在GetEmployee方法上设置了一个断点。断点确实命中了,所以我知道jQuery正在成功地调用该方法。我逐步完成了这个方法,它执行得很好,没有任何错误。我只能假设错误发生在jQueryajax调用从调用返回时。

此外,我查看了事件日志,只是为了确保没有发生ASPX错误。日志中没有错误。我还看了看控制台。没有脚本错误。有人知道我在这里错过了什么吗?

`

jQuery ajax调用没有';我好像什么都没做

试试这个

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: {id: id},
      // contentType: "application/json; charset=utf-8",
      // dataType: "json",
       success: function (msg) {
           alert('success');
       },
       error: function (msg) {
           alert('failure');
       }
   });   }

如果ajax调用没有进入成功函数内部,那么问题出在CS代码中的数据格式上。返回数据不能采用正确的JSON格式。我想你应该得到"500"错误。

请尝试以正确的JSON格式返回它