AJAX意外令牌< JSON在第4位

时间:2016-12-02 15:30:48

标签: javascript jquery ajax asp.net-mvc

使用我的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);
                    }
                });
            }
        });

3 个答案:

答案 0 :(得分:1)

我最近遇到了同样的错误,并且更改dataType: "html"修复了错误。我的控制器方法返回一个局部视图,所以我的情况有点不同。

答案 1 :(得分:-1)

确保每个输入都有ValidationMessageFor Element

答案 2 :(得分:-2)

你错过了catch块中的消息标记