ASP.Net MVC 在ajax接收controller返回值为Json数据

时间:2021-09-19 12:01:12

首先,再次回忆一下ajax的标准用法:(这张图写的比较详细了)(转)

ASP.Net MVC 在ajax接收controller返回值为Json数据

页面部分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对象。