jQuery ajax调用似乎根本没有做任何事情

时间:2013-06-26 03:57:39

标签: c# asp.net jquery webmethod

我在使用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错误。日志中没有错误。我也看了一下控制台。没有脚本错误。任何人都有任何想法,我在这里缺少什么?

`

2 个答案:

答案 0 :(得分:0)

试一下

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');
       }
   });   }

答案 1 :(得分:0)

如果ajax调用没有进入success函数,则问题在于CS代码中的dataformat。返回数据不得采用正确的JSON格式。你应该得到“500”错误。

尝试以适当的JSON格式返回。