как вернуть переменную из функции, вызываемой onreadystatechange = function () [duplicate]
На этот вопрос уже есть ответ здесь:
Как вернуть ответ от асинхронного вызова? 33 ответаЯ использую технику ajax в сочетании с php и хочу узнать, как получить возвращаемую переменную из функции, вызываемой onreadstatechange.
Вызывается java-функция onsubmit, которая затем вызывает php-скрипт, чтобы проверить некоторые вещи в моей базе данных и вернуть true или false в зависимости от результатов.
Здесь, где я сталкиваюсь с проблемами, я хочу, чтобы onsubmit = "return snappyajaxfunction ()" возвращал false или true, основываясь на результатах из php.
Мой вопрос: как получить результат false или true из функции stateChanged, чтобы она стала возвращением функции snappyajax.
Я попытался сделать это для ударов: результат = request.onreadystatechange = StateChanged без удачи.
Я также попытался сохранить responsesetxt в глобальную переменную, а затем вернуть глобальную переменную в snappyajaxfunction безуспешно.
snappyajaxfunction()
{
request.onreadystatechange=stateChanged;
request.open("GET",url,true);
request.send(null);
return result;
}
function stateChanged()
{
if (request.readyState==4)
{
return request.responseText;
}
}
Целью этого сценария является проверка введенного пользователем имени пользователя / пароля с именем пользователя / паролем, хранящимся в моей базе данных. Если они не совпадают, возвращается false и форма не будет отправлена, если она отправляет форму, и пользователь переносится на страницу приветствия ...