Tengo problemas con Chrome en el iPad/iPhone con lo que pensé que era una tarea bastante simple y funciona en Chrome Desktop (Mac & PC) y Safari en iPad/iPhone.iPad/iPhone Chrome - Auth Cookie no configurada en jquery post (ajax) - MVC 3
Tengo el siguiente jQuery en mi página:..
$ ("#-botón de inicio de sesión de inicio de sesión") haga clic en (function() { var nombre de usuario = $ ("# Nombre de Usuario") val() .; contraseña var = $ ("# contraseña") val();
$("#login-loading-icon").show();
$.post("/login", { username: username, password: password }, function (data, response) {
if (response == "success") {
if (data.IsValid) {
window.location.href = "/profile";
}
else {
$("#login-error-message").html(data.ErrorMessage);
$("#login-loading-icon").hide();
}
}
else {
alert("An error occurred, please try again.");
}
});
});
Y la acción del controlador es código es el siguiente:
[HttpPost]
public JsonResult Index(string username, string password)
{
AjaxResponseModel ajaxResponseModel = new AjaxResponseModel();
User user = UserDAL.Select(username, Hash.MD5(password));
if (user != null)
{
if (!user.IsVerified.Value)
{
ajaxResponseModel.AddErrorMessage("Account not verified.");
}
else if (!user.IsActive.Value)
{
ajaxResponseModel.AddErrorMessage("Your account is not active.");
}
else
{
FormsAuthentication.SetAuthCookie(username, false);
}
}
else
{
ajaxResponseModel.AddErrorMessage("Login details incorrect.");
}
return Json(ajaxResponseModel);
}
he tratado de establecer la autenticación a través de cookies un no ajax re búsqueda, pero que no está funcionando bien.
Y descubrí que en el iPad/iPhone si uso el "Sitio de solicitud de escritorio" en el menú de Chrome el problema desaparece, pero no hay ningún concepto de dispositivo móvil en este momento, es decir, qué Chrome obtiene la primera vez debe ser el sitio de escritorio ...
Desde entonces, he descubierto que esto es un error en .Net y se supone que debe ser corregido en la versión 4.5 sin embargo, la solución de @Froyke sigue siendo una rápida y fácil solución temporal. – Rob