Эта функция вызывает себя рекурсивно каждую секунду.Он отправляет запрос AJAX GET на Import.ff
и передает 3 параметра строки запроса: do=progressInfo
, type=sampletype
и случайное число.Это случайное число добавляется в URL, потому что запросы GET кэшируются браузерами, и тем самым он гарантирует, что он получает свежий контент с сервера при каждом запросе.
Сервер сам отправляет файл XML в качестве ответа.Этот XML-файл содержит несколько узлов, таких как:
<importProgress>
<running>true</running>
<progress>20</progress>
</importProgress>
Таким образом, скрипт анализирует этот XML в обратном вызове AJAX-запроса.Он пытается получить значения узлов running
и progress
.Если running=true
, то он проверяет, есть ли узел прогресса, и выполняет с ним некоторую обработку.Наконец он вызывает себя через 1 секунду, используя функцию setTimeout
.И т. Д.
Таким образом, в основном этот сценарий сообщает о ходе выполнения какой-либо серверной операции, опрашивая сервер с интервалом в 1 секунду, используя запросы AJAX GET, и анализируя ответ.