如何将控制器动作的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)
Run Code Online (Sandbox Code Playgroud)
}
它要求JsonRequestBehavior.AllowJson相似的参数.我知道它是asp.net mvc 2中的新功能,但作为重定向查看有没有发生但要求下载json输出文件.我想在我的jQuery中使用返回的数据.但那里出了问题.如果我删除了参数,则显示错误:
此请求已被阻止,因为在GET请求中使用此信息时,可能会向第三方网站披露敏感信息.要允许GET请求,请将JsonRequestBehavior设置为AllowGet.
如何避免这种情况并获取json数据?
以下是您要做的事情的示例.首先在您的视图中调用$ .getJSON从操作中获取JSON数据:
$.getJSON('/Data/StockQuote', function(data) {
if (data.success) {
ShowStockQuote(data);
}
});
Run Code Online (Sandbox Code Playgroud)
然后你的行动将如下所示:
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;
}
Run Code Online (Sandbox Code Playgroud)
一旦JSON数据从您的操作返回到$ .getJSON,您就可以使用数据来访问JSON对象的所有值.所以data.success会给你成功等等.
| 归档时间: |
|
| 查看次数: |
3369 次 |
| 最近记录: |