Вы выполняете запрос AJAX непосредственно в ответ на какое-либо событие пользовательского интерфейса? На основании вашего кода я могу предположить, что это происходит, когда пользователь нажимает какую-то ссылку «Логин». Поэтому сама форма входа не отправлена , как обычно, без участия AJAX. Это, скорее всего, препятствует тому, чтобы браузеры регистрировали форму как заполненную и отправленную и предлагали запомнить содержимое ее полей.
Я предлагаю вам перехватить событие submit () вашей формы и выполнить в нем AJAX-запрос:
$("#loginForm").submit(function(event)
{
event.preventDefault();
$.ajax({
type: "POST",
url: "http://www.xyz.com/register",
data:({
email : $('#email').val(),
password: $('#password').val()
}),
success: function(result)
{
if(result=='ok')
{
window.location = 'http://www.xyz.com/123';
}
else
{
$('#result').empty().addClass('error')
.append('Something is wrong.');
}
}
});
return false;
}
Вызов preventDefault()
переопределит стандартное поведение отправки формы и позволит вместо этого выполнить запрос AJAX.
Теперь вы можете просто добавить обычную кнопку «Вход» (HTML-тег «input» типа «submit») или вручную отправить форму в ответ на нажатие уже имеющейся ссылки:
$("a[href='#login']").click(function () { $("#loginForm").submit(); });