Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Ajax запрос по таймауту (https://javascript.ru/forum/dom-window/61841-ajax-zapros-po-tajjmautu.html)

espltd 11.03.2016 13:10

Ajax запрос по таймауту
 
Добрый день! Подскажите плиз, как правильно сделать аякс запрос по таймауту через каждые 5 секунд

AciDWarrioR 11.03.2016 13:54

espltd,
Set interval?

espltd 11.03.2016 15:28

думаю да. Не верно написал, мне нужен вызов аякс запроса по таймеру каждые 5 секунд. Нужно обновлять данными один из div-ов

AciDWarrioR 11.03.2016 15:31

espltd,
Проблема то в чем?
установили setInterva и в нем записали вызов ajax запроса, только сделайте не асинхронным, а то может не успевать ответ прийти, следующим команда, в этом же setIntervale, положить пришедшие данные в необходимый div.

laimas 11.03.2016 19:40

Цитата:

Сообщение от AciDWarrioR
только сделайте не асинхронным

И браузер будет карячится только с этими запросами. :)

laimas 11.03.2016 19:44

Цитата:

Сообщение от espltd
мне нужен вызов аякс запроса по таймеру каждые 5 секунд

setTimeOut

AciDWarrioR 12.03.2016 08:39

laimas,
Можете пожалуйста попдробнее.

laimas 12.03.2016 12:35

Подробнее о чем?

О таймера читать здесь - различия в работе между setInterval и setTimeout. Там же и есть и код рекурсивного setTimeout, что и нужно.

А использовать синхронный запрос нельзя потому, что в этом случае браузер блокирует всю работу со страницей пока не будет получен ответ сервера, и при интервале 5 сек, да еще с учетом задержек ответа или нештатных ситуаций, это фактически заблокировать доступ клиенту к странице (все об Ajax тут, либо тут, если использовать jQery).

AciDWarrioR 12.03.2016 14:12

laimas,
Вооот. Насчет асинхроности как раз. Я просто использовал именно асинхронный, когда пользователю нельзя было без данных с сервера работать и как то упустил этот момент когда советовал. Прошу прощения

laimas 12.03.2016 14:40

Цитата:

Сообщение от AciDWarrioR
Вооот. Насчет асинхроности как раз.

Я исправил, А должно было быть первой. )


Часовой пояс GMT +3, время: 08:59.