【问题标题】:how to send Json output to view in asp.net mvc如何发送 Json 输出以在 asp.net mvc 中查看
【发布时间】:2010-10-20 14:56:35
【问题描述】:

如何将控制器操作的 json 输出传递到其视图? 正如我之前尝试发送的,我的代码是:

public ActionResult Index()
{
    Guid Id = new Guid("66083eec-7965-4f3b-adcf-218febbbceb3");
    List<TasksToOfficer> officersTasks = tasks_to_officer_management.GetTasksToOfficers(Id);
    return Json(officersTasks)

}

它要求JsonRequestBehavior.AllowJson 类似参数。我知道它在 asp.net mvc 2 中是新的,但是当重定向到查看时没有发生这种情况,而是要求下载 json 输出文件。我想在我的 jQuery 中处理返回的数据。但是那里出了点问题。如果我删除了参数,那么它会显示错误:
此请求已被阻止,因为在 GET 请求中使用敏感信息可能会泄露给第三方网站。要允许 GET 请求,请将 JsonRequestBehavior 设置为 AllowGet。


如何避免这种情况并在视图中获取 json 数据?

【问题讨论】:

    标签: asp.net-mvc json


    【解决方案1】:

    这是您尝试执行的操作的示例。首先,在您看来,您调用 $.getJSON 从操作中获取 JSON 数据:

     $.getJSON('/Data/StockQuote', function(data) {
        if (data.success) {
           ShowStockQuote(data);                         
        }
     });
    

    那么你的动作会是这样的:

       public JsonResult GetStockQuote()
       {                 
           JsonResult result = new JsonResult()
           {
              Data = new { 
                     lastTradePrice = 50,
                     lastUpdated = "10/1/2010",
                     expirationDate = "10/2/2010",
                     success = true
               },
               JsonRequestBehavior = JsonRequestBehavior.AllowGet
            };
    
           return result;
       }
    

    一旦 JSON 数据从您的操作返回到 $.getJSON,您就可以使用数据访问 JSON 对象的所有值。所以 data.success 会给你成功等等。

    【讨论】:

    • 感谢您的回复,但是这段代码中的 StockQuote 和 ShowStockQuote(data) 是什么?我认为行动就是名称是GetStockQuote()。我必须考虑那里>
    • 好的,但我可以将我的操作返回类型保留为 Json 结果吗?而不是 ActionResult ?我试过它需要像上面一样的返回类型,但仍然要求下载。有什么需要做的?
    • helllloooooooooo 有人在吗?请解决这个问题。或者请告诉我是否有任何选项而不是 json ?
    • @Lalit - ShowStockquote(data) 是一个 javaScript 函数,StockQuote 是映射到 StockQuote 操作的 URL 的一部分。 JSONResult 继承自 ActionResult 所以你可以离开它。如果您需要更多帮助,请发布您的 HTML。
    猜你喜欢
    • 2021-02-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-21
    • 2019-05-20
    • 1970-01-01
    • 2013-05-18
    • 2017-08-03
    相关资源
    最近更新 更多