Asp.net-Mvc

ASP.NET MVC 2 - jquery ajax 響應失敗

  • February 28, 2010

我不明白這個錯誤,不要在“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" });
       }
   }
}

javascript

<script type="text/javascript">
   $(function() {
       $.getJSON("/AnalysisSourceData/Test", function(data) {
           alert(data.mymsg);
       });
   });
</script>

你不明白什麼?這個錯誤幾乎不能更具描述性。這是防止JSON 劫持的安全功能,您可以像這樣禁用它..

return Json(new { mymsg = "my msg" }, JsonRequestBehavior.AllowGet);

但你應該明白其中的含義

引用自:https://stackoverflow.com/questions/2350921