在Asp.Net MVC中通过getJSON调用操作时出错

时间:2011-02-27 14:48:52

标签: jquery json asp.net-mvc-2

我通过$ .getJSON()方法调用控制器操作,但我不知道为什么操作没有调用。

$.getJSON("/Home/Index", { ID:id }, function(){
});

但是当我把它更改为

$.getJSON("/Home/Index/s", { ID:id }, function(){
});

它工作正常。我检查了我的路由,我没有发现任何问题。可能是什么问题?

1 个答案:

答案 0 :(得分:1)

这真的很奇怪 我已经尝试过你的脚本,我唯一能看到的问题是,当调用是GET时,ASP.NET MVC2无法返回json数据。出于安全原因,它已被阻止。

如果您尝试使用Fiddler跟踪通话,您可能会注意到响应是这样的:

“此请求已被阻止,因为在GET请求中使用此信息时,可能会向第三方网站披露敏感信息。要允许GET请求,请将JsonRequestBehavior设置为AllowGet。”

如果你想启用返回数据,无论如何,你可以强制它:

return (Json(<your object>, JsonRequestBehavior.AllowGet));

或做一个POST。您可以找到更多信息here