无法使用jquery将json结果绑定到表

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了无法使用jquery将json结果绑定到表相关的知识,希望对你有一定的参考价值。

我有一个MVC控制器,我使用JsonConvert.SerializeObject转换数据表结果并返回如下

public JsonResult GetJson(DateTime StartDate)
        {
            DataTable dt = new DataTable();
            using (SqlConnection con = new SqlConnection(context.Database.Connection.ConnectionString))
            {
                using (SqlCommand cmd = new SqlCommand("usp_GetDetails"))
                {
                    cmd.Connection = con;
                    cmd.CommandType = CommandType.StoredProcedure;
                    cmd.Parameters.Add("@startdate", SqlDbType.DateTime);
                    cmd.Parameters["@startdate"].Value = StartDate;
                    using (SqlDataAdapter sda = new SqlDataAdapter(cmd))
                    {
                        sda.Fill(dt);
                    }
                }
            }
            return Json(new { success = true, data = JsonConvert.SerializeObject(dt) },
                JsonRequestBehavior.AllowGet);
        }

但是当我复制我得到的结果时,同样在小提琴中工作

https://jsfiddle.net/szq2ker4/1/这就是我如何在jquery中进行ajax调用并按照小提琴进行其余操作,但我没有看到小提琴中的预期

$.get("/controller/GetJson", { StartDate: date},
function (response) { var result = JSON.parse(response.data);})

我得到的结果如下,有人可以让我知道我做错了什么

enter image description here

控制台响应enter image description here

$.get("/controller/GetJson", { StartDate: date},
function (response) { var result = JSON.parse(response.data);}).fail(function (response) { **alert('failed')**;});
答案

我在这里找到了一个question的答案,可以帮助你:

似乎您的对象层次结构中存在循环引用,JSON序列化程序不支持该引用。你需要所有的栏目吗?您只能在视图中选择所需的属性:

return Json(new 
{  
    PropertyINeed1 = data.PropertyINeed1,
    PropertyINeed2 = data.PropertyINeed2
});

这将使您的JSON对象更轻松,更容易理解。如果您有许多属性,AutoMapper可用于在DTO对象和View对象之间自动映射。

以上是关于无法使用jquery将json结果绑定到表的主要内容,如果未能解决你的问题,请参考以下文章

Jquery datatable 1.10.16 未将 Json 响应绑定到表

使用 RxSwift 将 Alamofire 请求绑定到表视图

即使使用 JSON.parse,Snowflake 也无法将对象绑定到查询中以将其插入到变体列中

使用 SwiftJSON 将 Alamofire 结果 JSON 加载到表视图中

将 Json 文件加载到表时结果不一致 [重复]

无法绑定来自 jquery 数据库中 json 值的下拉列表值