Principales respuestas
Parametro de respuesta de Javascript

Pregunta
-
saludos, nuevamente con el tema de javascript
tengo la siguiente dificultad: continuo haciendo un login de usuario y tengo los siguientes controladores:
public ActionResult Index()
{
return View();
}
[HttpPost]
public ActionResult Index(Login login)
{
EmpleadosEntities pass = new EmpleadosEntities();
var Existe = pass.SP_Autoriza(login.User_Id, login.PassWord).FirstOrDefault();
if (Existe != null)
{
return RedirectToAction("Index", "Home");
}
else
{
return Json("Usuario No Existe", JsonRequestBehavior.AllowGet);
}
}con la vista correspondiente; llamo un Javascript que contiene lo siguiente:
$(document).ready(function (){
$("#formLogin").submit(function (event) {
User_Id = $("#User_Id").val();
PassWord = $("#PassWord").val();
Datos = { User_Id, PassWord };
//event.preventDefault();
$.ajax({
type: "POST",
url: "/Login/Index",
dataType: Text,
data: Datos
.success(function (result) {
alert('Usuario Registrado');
$("#User_Id").val("");
$("#PassWord").val("");
}).fail(function (data) {
$("#User_Id").val("");
$("#PassWord").val("");
$('#Enviar').val('Add'); // se vuelve a recargar el mensaje para agregar nuevo Artista
alert('Usuario No Existe');
alert(result);
})
})
});
});lo que funciona hasta cierto punto, es decir logre pasar los datos al controlador y este a traves de un SP en entity framework realiza la comprobación correspondiente.
pero el problema es que en vez de mostrame los mensaje de éxito o error a través de una ventana de alert me aparece la siguiente pantalla:
he intentado con diversas maneras, en el fail y en el success , pero ninguna funciona, como podría corregir esto para solucionarlo???
Gracias
Respuestas
-
saludos, ya lo resolví, intente rehaciendo la rutina de javascript, hasta que logre el paso de parámetros desde la vista hacia el controlador
gracias
- Marcado como respuesta Rodrigo Menares martes, 31 de diciembre de 2019 1:14
Todas las respuestas
-
hola
No puedes usar un RedirectToAction con el $.ajax, tienes que enviar el render de la view que genere el html
Ademas no esta bueno mezclar tipos distintos de respuestas, o retornas html o retornas json
cuando usas
return Json("Usuario No Existe", JsonRequestBehavior.AllowGet);
estas retornando un json con ese mensaje
Si querias ver algo mas formateado deberias renderizar un html de una view con ese mensaje devolviendo una View
Retornar un json va a ingresar por el "success" porque no es un error
Si querias un error deveruas devolver un
return new HttpStatusCodeResult(HttpStatusCode.InternalServerError, "Usuario No Existe");
HttpStatusCodeResult In ASP.NET MVC
saludos
Leandro Tuttini
Blog
MVP Profile
Buenos Aires
Argentina -
saludos
probé los parámetros que están en: HttpStatusCodeResult In ASP.NET MVC
tanto el resultado de esa operación como la descrita anteriormente aparecen en otra pantalla así :
- Editado Rodrigo Menares sábado, 14 de diciembre de 2019 20:51
-
hola
>>tanto el resultado de esa operación como la descrita anteriormente aparecen en otra pantalla así
no entendi, como es eso de "otra pantalla" ?
entiendo estas usando $.ajax por lo tanto no hay un submit
quizas lo que te esta faltando es detener esa accion, intenta habilitando la linea
event.preventDefault();
asi no tendras la llamada al servidor
saludos
Leandro Tuttini
Blog
MVP Profile
Buenos Aires
Argentina -
saludos, ya lo resolví, intente rehaciendo la rutina de javascript, hasta que logre el paso de parámetros desde la vista hacia el controlador
gracias
- Marcado como respuesta Rodrigo Menares martes, 31 de diciembre de 2019 1:14