parserrror SyntaxError:意外的令牌< - 在ASP.NET MVC 4中使用jQuery Ajax加载部分视图

Mik*_*ike 8 ajax asp.net-mvc jquery json asp.net-mvc-4

我正在使用以下Ajax调用将部分视图加载到div中:

  $.ajax({
    url: "/URL",
    type: "POST",
    dataType: "json",
    data: JSON.stringify(request),
    contentType: "application/json; charset=utf-8",
    success: function(data) {
        $('#Result').html(data);
        App.hidePleaseWait();
    },
    error: function (jqXHR, textStatus, errorThrown) {
        App.hidePleaseWait();
        alert(textStatus);
        alert(errorThrown);
    }
});
Run Code Online (Sandbox Code Playgroud)

这是我的控制器:

[HttpPost]
        public ActionResult GetSomething(MyModel formModel)
        {
            var model = new ResultModel();

            try
            {
                model.Data = GetSomeData();
            }
            catch (Exception exception)
            {
                model.ErrorMessage = exception.Message;
            }

            return PartialView("_Results", model);
        }
Run Code Online (Sandbox Code Playgroud)

我收到以下错误 "parserrror SyntaxError: Unexpected token <"

似乎.ajax调用期待json而不是html.我需要做些什么来解决这个问题?

谢谢.

PSL*_*PSL 29

您需要在ajax调用中更改数据类型.

 dataType: "json",
Run Code Online (Sandbox Code Playgroud)

 dataType: "html", 
Run Code Online (Sandbox Code Playgroud)

数据类型告诉该类型是json,但是您发送回部分视图是html.所以它试图将其解析为json数据并抛出错误.

datatype - 您希望从服务器返回的数据类型.

dataType(默认值:Intelligent Guess(xml,json,script或html))类型:String您希望从服务器返回的数据类型.如果没有指定,jQuery将尝试根据响应的MIME类型推断它(XML MIME类型将产生XML,在1.4 JSON中将产生一个JavaScript对象,在1.4脚本中将执行脚本,其他任何东西将是以字符串形式返回).可用的类型(以及作为成功回调的第一个参数传递的结果)是: