代码之家  ›  专栏  ›  技术社区  ›  andres descalzo

asp.net mvc 2-jquery ajax响应失败

  •  38
  • andres descalzo  · 技术社区  · 15 年前

    我不理解这个错误,不在“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>
    
    1 回复  |  直到 11 年前
        1
  •  67
  •   Paul Creasey    15 年前

    你不明白什么?这个错误再怎么描述也不为过。这是一项安全功能 JSON hijacking ,您可以这样禁用它。

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

    但你应该明白 implications