我想用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