ASP.NET MVC 2 - jquery ajax 响应失败
Posted
技术标签:
【中文标题】ASP.NET MVC 2 - jquery ajax 响应失败【英文标题】:ASP.NET MVC 2 - Failed with jquery ajax response 【发布时间】:2011-01-21 23:55:05 【问题描述】:我不明白这个错误,不要在“JsonResult Test()”中产生错误,我正在做其他项目作为ASP.NET MVC
谢谢
错误:
System.InvalidOperationException: This request has been blocked because sensitive information could be disclosed to third party web sites when this is used in a GET request. To allow GET requests, set JsonRequestBehavior to AllowGet.
[InvalidOperationException: This request has been blocked because sensitive information could be disclosed to third party web sites when this is used in a GET request. To allow GET requests, set JsonRequestBehavior to AllowGet.]
System.Web.Mvc.JsonResult.ExecuteResult(ControllerContext context) +263733
System.Web.Mvc.ControllerActionInvoker.InvokeActionResult(ControllerContext controllerContext, ActionResult actionResult) +10
System.Web.Mvc.<>c__DisplayClass14.<InvokeActionResultWithFilters>b__11() +20
System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilter(IResultFilter filter, ResultExecutingContext preContext, Func`1 continuation) +251
System.Web.Mvc.<>c__DisplayClass16.<InvokeActionResultWithFilters>b__13() +19
System.Web.Mvc.ControllerActionInvoker.InvokeActionResultWithFilters(ControllerContext controllerContext, IList`1 filters, ActionResult actionResult) +178
System.Web.Mvc.ControllerActionInvoker.InvokeAction(ControllerContext controllerContext, String actionName) +314
System.Web.Mvc.Controller.ExecuteCore() +105
System.Web.Mvc.ControllerBase.Execute(RequestContext requestContext) +39
System.Web.Mvc.ControllerBase.System.Web.Mvc.IController.Execute(RequestContext requestContext) +7
System.Web.Mvc.<>c__DisplayClass8.<BeginProcessRequest>b__4() +34
System.Web.Mvc.Async.<>c__DisplayClass1.<MakeVoidDelegate>b__0() +21
System.Web.Mvc.Async.<>c__DisplayClass8`1.<BeginSynchronous>b__7(IAsyncResult _) +12
System.Web.Mvc.Async.WrappedAsyncResult`1.End() +59
System.Web.Mvc.MvcHandler.EndProcessRequest(IAsyncResult asyncResult) +44
System.Web.Mvc.MvcHandler.System.Web.IHttpAsyncHandler.EndProcessRequest(IAsyncResult result) +7
System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +8678910
System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +155
c#
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
namespace Tesis.Controllers
public class AnalysisSourceDataController : Controller
//
// GET: /AnalysisSourceData/
public ActionResult Index()
return View();
public JsonResult Test()
return Json(new mymsg = "my msg" );
<script type="text/javascript">
$(function()
$.getJSON("/AnalysisSourceData/Test", function(data)
alert(data.mymsg);
);
);
</script>
【问题讨论】:
【参考方案1】:你不明白什么?这个错误几乎不能更具描述性。这是防止JSON hijacking的安全功能,你可以这样禁用它..
return Json(new mymsg = "my msg" , JsonRequestBehavior.AllowGet);
但你应该了解implications。
【讨论】:
我不明白,其他项目我不需要这个参数。 这是在 MVCv1 项目中随 ASP.NET MVC2 添加的功能,您不需要添加它。添加该功能只会让人们在通过 GET 公开 JSON 数据(有一些完全有效的应用程序)之前停下来思考他们在做什么。 谢谢,我想念文档 绝对不用担心“暴露” json 而不是 get。这是 MVC 团队的一个非常糟糕的选择。这不过是默默无闻的安全,众所周知,这什么都不是。 虽然这篇文章读起来很有趣,但我无法真正评论它有多大的关注度,但是默默无闻不是安全吗,默默无闻在哪里?我不认为这是一个非常糟糕的选择,提高意识,即使是一个小问题也是一个好主意,而且升级问题可以非常容易地解决。以上是关于ASP.NET MVC 2 - jquery ajax 响应失败的主要内容,如果未能解决你的问题,请参考以下文章
ASP.NET MVC 2 + jQuery 灯箱 + 登录
ASP.NET MVC 2 - jquery ajax 响应失败
ASP.Net MVC在AspNet Mvc使用JQuery AutoComplete组件
ASP.NET MVC 2 使用 jQuery 加载部分视图 - 无客户端验证