【问题标题】:MVC 4 read data from controller in a view using ajaxMVC 4使用ajax从视图中的控制器读取数据
【发布时间】:2014-03-14 11:09:16
【问题描述】:

我设法用 ajax 发布到控制器,一切都很好,我可以看到控制器内的数据。这就是我所做的:

$.ajax({
    type: "POST",
     url: "./Enroll/saveTempSelectedPlan",
 content: "application/json; charset=utf-8",
    data: ({tempSelectedPlan: plan, tempSelectedTier: tier}),
 success: function() {alert("SUCCESS");}, 
   error: function() {alert("FAIL");}
});

在控制器内部,这是我读取数据的方式:

public JsonResult saveTempSelectedPlan(string tempSelectedPlan, string tempSelectedTier)
{
    Session["TemporarySelectedPlanNumber"] = tempSelectedPlan;
    Session["TemporarySelectedTierNumber"] = tempSelectedTier;
    return Json("SUCCESS");
}

现在我正在尝试将该数据发布回视图,如下所示:

public JsonResult loadTempSelectedPlan()
{
    if (Session["TemporarySelectedPlanNumber"] != null && Session["TemporarySelectedTierNumber"] != null)
    {
        return Json(new { 
        tempSelectedPlan = this.HttpContext.Session["TemporarySelectedPlanNumber"].ToString(),
        tempSelectedTier = this.HttpContext.Session["TemporarySelectedTierNumber"].ToString()
    });
}

return Json("SUCCESS");

}

我的问题是如何在视图中读回该数据我是否创建另一个帖子(可能是 GET)。如何在视图中读回该数据。另外,如果有任何改进将不胜感激!

谢谢。

【问题讨论】:

    标签: c# ajax asp.net-mvc-4 session


    【解决方案1】:

    首先是返回值。无论您作为参数传递给Json(arg),都将被序列化。序列化的 arg 将采用 JSON 格式。

    你的成功函数将被注入这个作为参数

    success: function(data) {console.log(data);}, //now you can examine it
    

    另外请记住,您始终可以在浏览器的开发控制台中检查响应标头。返回的 json 也会在里面。

    【讨论】:

      猜你喜欢
      • 2019-11-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多