У меня возникли проблемы с Chrome на iPad/iPhone. Мне казалось, что это достаточно простая задача, и она работает на Chrome Desktop (, Mac и ПК )и Safari на iPad/iPhone.
У меня есть следующий jquery на моей странице:
$ (" #логин -логин -кнопка" ).click (функция (){ var username = $ ("#Имя пользователя" ).val (); var password = $ ("#Password" ).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.");
}
});
});
Код действия контроллера выглядит так:
[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);
}
Я попытался установить Auth Cookie с помощью ajax-запроса, отличного от -, но он тоже не работает.
И я обнаружил, что на iPad/iPhone, если я использую «Запрос сайта для рабочего стола» в меню Chrome, проблема исчезает, однако на этом этапе на моем сайте нет концепции мобильного/настольного компьютера, то есть то, что Chrome получает в первый раз, должно быть настольным сайтом...