使用我的Ajax调用和操作方法,一切看起来都是正确的,但看起来它正在返回HTML,而不是有效的JSON。有人能告诉我为什么我会收到这个错误吗?
Error: parsererror SyntaxError: Unexpected token < in JSON at position 4
[HttpPost]
public ActionResult UpdateStatus()
{
try
{
return Json(new { success = true, message = "success!" });
}
catch (Exception ex)
{
return Json(new { success = false, ex.Message });
}
}
$("#updateStatus").click(function () {
$.ajax({
url: "@Url.Action("UpdateStatus","Home")",
type: "post",
dataType: "json",
cache: false,
success: function (response, textStatus, jqXHR) {
},
error: function (jqXHR, textStatus, errorThrown) {
alert("Error: " + textStatus + " " + errorThrown);
}
});
}
});
答案 0 :(得分:1)
我最近遇到了同样的错误,并且更改dataType: "html"
修复了错误。我的控制器方法返回一个局部视图,所以我的情况有点不同。
答案 1 :(得分:-1)
确保每个输入都有ValidationMessageFor Element
答案 2 :(得分:-2)
你错过了catch块中的消息标记