это часть проверки в моей формеJavaScript проверка формы, не дожидаясь ответа AJAX
function check(theform) {
var re = /^\w[0-9A-Za-z]{5,19}$/;
if (!re.test(theform.username.value)) {
alert("not valid username");
theform.username.focus();
return false;
}
$.ajax({
type: "POST",
url: "username.asp",
data: "username="+theform.username.value,
success: function(msg){
username = msg;
if (!username) {
alert("username already in use");
return false;
}
}
});
var re = /^\w[0-9A-Za-z]{5,19}$/;
if (!re.test(theform.password.value)) {
alert("not valid password");
theform.password.focus();
return false;
}
}
по какой-то причине синхронизации ... это проверить имя пользователя, то дублируется имя пользователя с AJAX и не дожидаясь ответа и перейти к проверке пароля.
Я не хочу вставлять остальную часть кода в isreadystate (или что это такое), потому что я могу перенести проверку дубликата имени пользователя в конец ... и тогда функция закончится до того, как ajax все равно будет
Что мне делать?
я изменил его на ложь и получил ту же проблему ... я думаю, я просто работать с XMLHttpRequest причиной Я не знаю другого выбора. я хотел работать с ajax, потому что он уже загружен на мою страницу и не хочет работать с другим объектом –
@ Y.G.J вам нужно изменить структуру вашего вызова: вам нужно назначить результат вызова ajax(). Предположительно, именно там появляется «false». На данный момент вы не обрабатываете результат обратного вызова успеха. –
+1 для всех разъяснений в разделе комментариев моего сообщения. –