我想用jQuery.parseJSON解析出MVC3控制器操作的返回值。jQuery.parseJSON不适用于来自MVC控制器操作的JsonResult
控制器:
[HttpPost]
public JsonResult LogOn(LogOnModel model, string returnUrl)
{
.. do stuff ..
if (errors.Count() < 0)
{
return Json(new object[] { true, model, errors });
}
return Json(new object[] { false, model, errors });
}
的jQuery:
$.ajax({
url: form.attr('action'),
type: "POST",
dataType: "json",
data: form.serialize(),
success: function (data) {
var test = jQuery.parseJSON(data);
}
});
从提琴手
JSON结果:
内容类型:应用/ JSON; charset = utf-8
[false,{“UserName”:“1”,“Password”:“2”,“RememberMe”:false},[{“Key”:“”,“Errors” { “异常”:空 “的ErrorMessage”: “提供的 用户名或密码不正确。”}]}]]
提琴手可以解析的结果:
的调用jQuery.parseJSON返回null。 我的问题是,我如何解析json返回值到一个对象?
谢谢!
jQuery.parseJSON调用仍然返回null。 – rboarman 2012-02-09 00:46:30
啊......你不需要parseJSON,因为'data'已经是一个对象了。 'ajax'将尝试解析JSON结果,因为您将类型dataType指定为json。 parseJSON需要一个字符串,你给它一个对象,因此返回null。我没有仔细注意你的问题,对不起。我会修改。 – HackedByChinese 2012-02-09 00:50:14
我明白了;让我玩这一点。 – rboarman 2012-02-09 00:52:45