Здравствуйте! У меня есть функция, использующая Аякс) В ней (как известно) есть еще одна функция, которая проверяет, не получен ли ответ от сервера.
Вот выдрал кусок кода:
functions: { open: function (link) { var exit; if( xmlHttp ) { xmlHttp.open('get', 'test.js?id='+Math.floor(Math.random()*6000)); xmlHttp.onreadystatechange = function () { if (xmlHttp.readyState == 4) { exit = xmlHttp.responseText; } }; xmlHttp.send(null); return exit; }
} } }
Мне нужно, чтобы функция open возвращала результат запроса. Все кажется легко, но есть 1 загвоздка:
Аякс работает не моментально и пока он открывает файл, скрипт проноситься мимо return'a. Переменная exit оказывается пуста. А вот что дальше она изменилась интерпретатора совершенно не волнует)
You can post now and register later.
If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.
Актуальные контакты:
Telegram: @Nikker_web
E-Mail: tarasevich.email@gmail.com
Портфолио https://www.behance.net/d4d4186e
Разрабатываю дизайн групп в соц сетях, сайтов, приложений, другой дизайн под заказ
Актуальные контакты:
Telegram: @Nikker_web
E-Mail: tarasevich.email@gmail.com
Разрабатываю дизайн групп в соц сетях, сайтов, приложений, другой дизайн под заказ
Портфолио https://www.behance.net/d4d4186e
Question
Jaguar™
Здравствуйте! У меня есть функция, использующая Аякс) В ней (как известно) есть еще одна функция, которая проверяет, не получен ли ответ от сервера.
Вот выдрал кусок кода:
Мне нужно, чтобы функция open возвращала результат запроса. Все кажется легко, но есть 1 загвоздка:
Аякс работает не моментально и пока он открывает файл, скрипт проноситься мимо return'a. Переменная exit оказывается пуста. А вот что дальше она изменилась интерпретатора совершенно не волнует)
Делать таймер (на 50-100 мсек не выход =)
Link to comment
Share on other sites
5 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.