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脚本中将执行脚本,其他任何东西将是以字符串形式返回).可用的类型(以及作为成功回调的第一个参数传递的结果)是:
| 归档时间: |
|
| 查看次数: |
18775 次 |
| 最近记录: |