ASP.Net MVC 在ajax接收controller返回值为Json数据
首先,再次回忆一下ajax的标准用法:(这张图写的比较详细了)(转)
页面部分ajax代码:
$.ajax({
url: "/Home/Login?account=" + account + "&pwd=" + pwd,
dataType: "json",
success: function (data) {
}
});
在dataType选择了json之后,在controller中使用Json(obj)返回,ajax并不能成功接收,
使用NewtonSoft的Json序列化为Json字符串之后,content返回,ajax成功接收。
var data = new
{
userId = modelUser.Id,
userDepartment = modelUser.Department,
userName = modelUser.Name
};
var jsonstr = JsonConvert.SerializeObject(data);
return Content(jsonstr);
注意:说明ajax返回值设置为Json的时候,是需要接受一个Json字符串,而不是一个Json对象。