ASP.NET MVC 2 - 与jQuery Ajax响应失败
问题描述:
我不明白这个错误,不产生“JsonResult测试()”的错误,我做其他项目的ASP.NET MVCASP.NET MVC 2 - 与jQuery Ajax响应失败
感谢
错误:
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" });
}
}
}
的JavaScript
<script type="text/javascript">
$(function() {
$.getJSON("/AnalysisSourceData/Test", function(data) {
alert(data.mymsg);
});
});
</script>
答
你不明白什么?这个错误不可能更具描述性。这是一个安全功能,以防止JSON hijacking,你可以这样关闭它..
return Json(new { mymsg = "my msg" }, JsonRequestBehavior.AllowGet);
,但你应该了解implications。
我不明白其他项目我不需要这个参数。 – 2010-02-28 12:04:18
这是MVCv1项目中添加了ASP.NET MVC2的功能,您不需要添加它。添加该功能只是让人们停下来想想在通过GET公开JSON数据之前他们正在做什么(它有一些完全有效的应用程序)。 – 2010-02-28 13:03:23
谢谢,我错过了看到文档 – 2010-02-28 13:21:59