He estado atrapado en esto desde hace algún tiempo. Estoy tratando de enviar un bool desde mi controlador a la vista a través de ajax. Probé varios tutoriales y métodos diferentes, pero parece que no puedo recuperar algunos datos simples. Esperaba que alguien pudiera explicarme qué estoy haciendo mal.
Aquí está mi código:
Ajax:
$(document).ready(function () { $.ajax({ "url": "/social/checkfollow", "type": "GET", "dataType": "json", "success":function(data) { console.log(data); }, "error": function(data) { console.log(data.status +" "+ data.statusText); } }); });Y el controlador:
[HttpGet] public virtual ActionResult CheckFollow() { var pass = false; return Json(new {result = pass}); }Por alguna razón sigo recibiendo 500 Error de servicio interno. Sé que es una pregunta muy básica y realmente agradecería su ayuda.
Su declaración de devolución probablemente debería ser:
return Json(new {result = pass}, JsonRequestBehavior.AllowGet);Explicación pertinente de AllowGet: ¿Por qué se necesita JsonRequestBehavior?
La declaración de devolución no es adecuada para pasar json, por lo que he agregado un código de muestra, así que pruébelo y avíseme cualquier problema.
[HttpGet] public virtual ActionResult CheckFollow() { var pass = false; return Json(new {result = pass}, JsonRequestBehavior.AllowGet); }