0
我正在做一個MVC3動作的Ajax請求,我想在成功或錯誤函數中處理JsonResult。 目前的行爲很奇怪:在命中我的斷點之前,它會觸發錯誤函數。 任何人都可以幫助我,並有一個提示?MVC3 ajax動作請求:處理答案
我的觀點:
<form id="myForm">
//fields go here...
<button id="myButton" onclick="myFunction();">ButtonName</button>
</form>
AJAX調用:
function myFunction() {
if ($('#myForm').valid() == false) {
return;
}
var data = {
val1: $("#val1").val(),
val2: $("#val2").val()
};
var url = "/Controller/Action";
$.ajax({
url: url,
type: 'POST',
dataType: 'json',
cache: false,
data: data,
success: function (data, statusCode, xhr) {
alert('1');
if (data && data.Message) {
alert(data.Message);
alert('2');
}
alert('3');
},
error: function (xhr, errorType, exception) {
alert('4');
var errorMessage = exception || xhr.statusText;
alert("There was an error: " + errorMessage);
}
});
return false;
}
我的行動:
[HttpPost]
public ActionResult Action(Class objectName)
{
var response = new AjaxResponseViewModel();
try
{
var success = DoSomething(objectName);
if (success)
{
response.Success = true;
response.Message = "Successful!";
}
else
{
response.Message = "Error!";
}
}
catch (Exception exception)
{
response.Success = false;
response.Message = exception.Message;
}
return Json(response);
}
如果在Ajax調用看我得到直接警報#4和只有當時e行動被稱爲已經太晚了。不幸的是這個例外是空的。之後直接關閉視圖。
服務器拋出什麼異常? –
動作中沒有例外 - 動作中的代碼按預期運行。 錯誤函數中的異常對象爲null。 – Marius
你得到了什麼HTTP響應代碼?如果您不知道如何檢查,請嘗試使用Firebug for Firefox或Chrome中的開發者工具。 –