Não funciona o Json
-
5 เมษายน 2555 10:21
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.