当前位置: 首页 > 面试题库 >

如何在MVC应用程序中的jQuery中返回JSON并遍历返回的JSON?

桓兴腾
2023-03-14
问题内容

我有一个返回JSON的MVC控制器。我想使用jQuery读取/获取JSON并遍历JSON项目/行。

基本上,我正在阅读一堆评论,然后逐一显示评论。

有人有代码示例吗?

我正确地获取了json。请参阅下面的返回数据。

    $.ajax(
    {
        type: "GET",
        url: "/comment/GetComments",
        dataType: "json",
        data: "blog_id=100&page_size=5&page_no=1",
        success: function (result) {
            //loop the data.. how do I loop json?
        },
        error: function (req, status, error) {
            alert('Error getting comments');
        }
    });

    My controller:

    [HttpGet]
    public ActionResult GetComments(string blog_id, int page_size, int page_no)
    {            
        try
        {                
            List<Comment> comments = ReadCommentsFromDB();

            if(comments .Count > 0)                
                return Json(new { comments = cmts.ToJson() }, JsonRequestBehavior.AllowGet);
            else
                return Json(new { comments = "none" },, JsonRequestBehavior.AllowGet);
        }
        catch (Exception ex)
        {
            return Json(new { comments = ex.ToString() }, JsonRequestBehavior.AllowGet);
        }
    }

谢谢

编辑:

如何循环这些由控制器返回的json?我需要循环3次,然后对于每一行,我需要访问该行中的所有键和值。

[{ "_id" : { "$oid" : "4dc8" }, "eid" : { "$oid" : "4da" }, "user" : "bob", "text" : "First comment!!", "dt" : { "$date" : 1304966277978 } }, 
 { "_id" : { "$oid" : "4dc8" }, "eid" : { "$oid" : "4da" }, "user" : "bob", "text" : "Second comment!!", "dt" : { "$date" : 1304966347677 } }, 
 { "_id" : { "$oid" : "4dc8" }, "eid" : { "$oid" : "4da" }, "user" : "bob", "text" : "Third comment!!", "dt" : { "$date" : 1304966493240 } }
]

问题答案:

第一个问题的答案是允许Json在GET中工作。杰森通常只在一个职位上工作。通过在控制器中使用以下return方法(使用您的return语句之一),可以在GET中允许Json。

return Json(new { comments = "none" }, JsonRequestBehavior.AllowGet)

编辑: 您也可以返回,JsonResult而不是ActionResult如下所示。

public ActionResult GetComments(string blog_id, int page_size, int page_no)    
{           
    try        
    {
        List<Comment> comments = ReadCommentsFromDB();

        // Assuming that Comments will be an empty list if there are no data
        return Json(comments, JsonRequestBehavior.AllowGet)
    }
    catch (Exception ex)
    {
        return Json(new { comments = ex.ToString() }, JsonRequestBehavior.AllowGet));
    }
}


 类似资料:
  • 我希望在spring boot中返回类似以下内容的json响应: 我的RestController如下所示 但我得到的反应是这样的

  • 假设每种颜色总是有一辆车。所以我总是在找一辆车,不多也不少。 如何确保始终有一个对象被找到并返回?

  • 问题内容: 我正在构建一个客户端脚本繁重的ASP.NET MVC应用程序,它将使用JSON和jQuery来操作DOM。 我的理解是 Web API Controller 和 MVC Controller 都可以返回JSON。 在我的情况下,应该使用 Web API控制器 还是 MVC控制器 ? 问题答案: 可以在任何ASP.NET应用程序中创建并托管Web API控制器,而不仅仅是MVC应用程序。

  • 根据我的场景,我应该使用Web API控制器还是MVC控制器?

  • 问题内容: 我不知道如何用代码返回JSON数据。 JS C#的Default.aspx.cs 提前致谢! 问题答案: 你不远 您需要执行以下操作: 您可以进一步减少此代码,但为清晰起见,我将其保留下来。实际上,您甚至可以这样写: 这将返回一个json字符串。我宁愿更加明确,因为我使用自定义转换器。也有Json.net,但是框架的工作开箱即可。

  • 本文向大家介绍Ajax返回的json遍历取值并显示到前台的方法,包括了Ajax返回的json遍历取值并显示到前台的方法的使用技巧和注意事项,需要的朋友参考一下 使用$.each(data,function(i,n){}); 可以用n.字段,取到想要的值。 然后将item打入table里 以上这篇Ajax返回的json遍历取值并显示到前台的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也