#jquery #ajax #input #passwords
#jquery #ajax #ввод #пароли
Вопрос:
Это очень странная ошибка, и я надеюсь, что кто-то сталкивался с ней раньше.
Я использую метод jQuery $.ajax для отправки данных из скрипта входа в систему. Каждый раз, когда я обновляю страницу входа в систему и впервые ввожу слово «пароль» в поле пароля, срабатывает метод $.ajax error(), т. е. ajax не удается установить связь с сервером. Если я затем повторю попытку без обновления страницы, ей удастся связаться с сервером без сбоев.
Итак, подводя итог, ввод слова «пароль» в поле ввода пароля приводит к сбою $.ajax. Клянусь, я это не выдумываю!
var action = $('#myForm').attr('action');
var email = $('#myForm input[name=email]').val();
var password = $('#myForm input[name=password]').val();
$.ajax({
url: action,
type: 'POST',
data: {
email: email,
password: password
},
dataType: 'json',
timeout: 20000,
cache: false,
error: function(xhr,status,error){
alert('Cannot communicate');
},
success: function(data){
alert('OK');
}
});
Комментарии:
1. Я не вижу ничего, что выделялось бы в отношении вашей ошибки. Я тоже хотел бы узнать, какие параметры статуса / ошибки содержатся в функции ошибки. Я предполагаю, что показанный вами код является выдержкой из какой-то функции, которая выполняется при нажатии кнопки отправки или что-то в этом роде …? Кроме того, для краткости и чтобы избежать повторного запроса DOM для одного и того же элемента (#myForm) 3 раза, я бы закодировал его, как показано на этом рисунке: pastie.textmate.org/private/rcpohw1igkqucl77v2w
Ответ №1:
Извините за пустую трату времени, но я только что обнаружил проблему, и это не была ошибка jQuery. Я возвращал искаженный объект json, который вызвал метод error(). Иногда вы не можете увидеть леса для деревьев после кодирования в течение 16 часов подряд.