none
Não funciona o Json RRS feed

  • Pergunta

  • Bom dia a todos, eu estou enfrentando um problema já faz um tempo, então decidi apelar para o fórum.

    Eu tenho uma aplicação bem simples onde tenho uma página de teste de login que tem um botão onde retorna um JSON.

    Controlle:

    public ActionResult Index()
            {
                return View();
            }
    
            public JsonResult RetornoJson(string x)
            {
                return Json(new {algo = x});
            }

    View:

    <script src="../../Scripts/jquery-1.5.1.min.js" type="text/javascript"></script>
        <script src="../../Scripts/jquery.unobtrusive-ajax.min.js" type="text/javascript"></script>
        <script type="text/javascript">
    
            function testar(data) {
    
                alert(data.algo);
    
            }
        
        </script>
    </head>
    <body>
        <div>
            <%using (Ajax.BeginForm("RetornoJson", "Login", new AjaxOptions { OnSuccess = "testar" }))
              {%>
            <input type="text" value="lalalalala" name="x" />
            <input type="submit" value="Testar" />
            <%} %>
        </div>
    </body>

    Isso funciona normalmente. O problema é que quando eu crio um meio de autorização esse JSON não funciona, minha página dá um post e retorna um html com a JSON que vem do controller.

    Authorization:

    system.web 
    <authentication mode="Forms">
          <forms loginUrl="~/Login" timeout="2880" />
        </authentication>
    
        <authorization>
          <deny users="?"/>
        </authorization>
        
    <!-----Bloco de athorization------>
    
    <location path="Home">
        <system.web>
          <authorization>
            <deny users="?"/>
          </authorization>
        </system.web>
      </location>
    
      <location path="Login/RetornoJson">
        <system.web>
          <authorization>
            <allow users="*"/>
          </authorization>
        </system.web>
      </location>

    Quando eu tiro o authorization:

    <authorization>
          <deny users="?"/>
        </authorization>

    Ele funciona.

    Agradeço a boa vontade.

    quinta-feira, 5 de abril de 2012 10:21