2014-12-19 47 views
-1

我的jQuery的AJAX調用 -如何從控制器的方法將數據返回到一個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}); 

但這一切得到的是處於警戒錯誤。我哪裏錯了?請幫忙 。我只需要從控制器返回一個配置,無論是什麼格式。

+0

你得到的錯誤是什麼? – JoelC

+1

將您的錯誤處理函數更改爲:error:function(xhr,status,error)var err = eval(「(」+ xhr.responseText +「)」); alert(err.Message); 「所以你可以有意義的錯誤。 – dsharew

+0

檢查瀏覽器控制檯網絡選項卡中的實際請求。如果沒有有意義的故障排除信息,沒有大量猜測工作,沒有人可以幫助您 – charlietfl

回答

0

嘗試將控制器方法的返回類型設置爲JsonResult代替的ActionResult,所以:

public JsonResult ProcessEmailrequest() 
{ 
    // some code 

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

如果它不能幫助你設定錯誤的AJAX功能接受下列參數:

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

然後在瀏覽器中調試,並設置一個斷點到錯誤函數,並在xhr對象(responseText屬性)中,您將能夠看到確切的錯誤。

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 
相關問題