如何将数据从控制器方法返回到jquery ajax帖子

时间:2014-12-19 16:24:17

标签: javascript jquery ajax asp.net-mvc

我的Jquery ajax电话 -

         var formdata = $('#emailrequest').serializeArray();

          // Ajax call to server
          $.ajax({
              url: sitePath + 'supply-chain-pressure/ProcessEmailrequest',
              type: 'POST',
              data: formdata,
              sucess: function(data) {
                  alert(data.sucess);
              },
              error: function() {
                  alert('error');
              }
              });//End Ajax

我的控制器 -

    public ActionResult ProcessEmailrequest()
            {

              // some code

            // retun the response 
            return Json(new {success = true});

但是一切都是警报错误。我哪里错了?请帮忙 。我只需要从控制器返回一个混淆,无论是任何格式。

2 个答案:

答案 0 :(得分:1)

你拼错成功所以永远不会打击。它应该与ActionResult一起使用,但JsonResult更好。

         var formdata = $('#emailrequest').serializeArray();

      // Ajax call to server
      $.ajax({
          url: sitePath + 'supply-chain-pressure/ProcessEmailrequest',
          type: 'POST',
          data: formdata,
          success: function(data) {
              alert(data.sucess);
          },
          error: function() {
              alert('error');
          }
          });//End Ajax

答案 1 :(得分:0)

尝试将控制器方法的返回类型设置为JsonResult而不是ActionResult,所以:

 public JsonResult ProcessEmailrequest()
 {
     // some code

     // retun the response 
     return Json(new {success = true});
 }

如果这样做无法帮助您设置ajax错误函数以接收以下参数:

 error: function (xhr, ajaxOptions, thrownError) {
      ...
 }

然后在浏览器中调试并设置一个断点到错误函数,在xhr对象(responseText属性)中,你将能够看到确切的错误。