|
|
|
Прелоадер с процентами во время выполнения ajax запроса
|
|||
|---|---|---|---|
|
#18+
Как сделать прелоадер с бегущими процентами во время аякс запроса на выборку строк из базы. Типа выбрано K из N строк и выводит K/N*100 = P%. Если у кого-то есть сниппет, поделитесь, плиз. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2014, 15:59 |
|
||
|
Прелоадер с процентами во время выполнения ajax запроса
|
|||
|---|---|---|---|
|
#18+
MegaLasta , процент можно показать только если читаешь данные кусками... Получаешь сразу все - фик тебе прогресса. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2014, 16:04 |
|
||
|
Прелоадер с процентами во время выполнения ajax запроса
|
|||
|---|---|---|---|
|
#18+
krvsa MegaLasta , процент можно показать только если читаешь данные кусками... Получаешь сразу все - фик тебе прогресса. И что, совсем-совсем никак? Никаких хаков и фейков нельзя придумать? Босс то требует :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2014, 16:09 |
|
||
|
Прелоадер с процентами во время выполнения ajax запроса
|
|||
|---|---|---|---|
|
#18+
фейк можно. зацикленный прогрессбар :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2014, 16:37 |
|
||
|
Прелоадер с процентами во время выполнения ajax запроса
|
|||
|---|---|---|---|
|
#18+
Antonariyфейк можно. зацикленный прогрессбар :) но он же реальные проценты выдавать не будет, верно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2014, 16:40 |
|
||
|
Прелоадер с процентами во время выполнения ajax запроса
|
|||
|---|---|---|---|
|
#18+
MegaLastaИ что, совсем-совсем никак? Никаких хаков и фейков нельзя придумать? Босс то требует :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2014, 16:41 |
|
||
|
Прелоадер с процентами во время выполнения ajax запроса
|
|||
|---|---|---|---|
|
#18+
MegaLastaИ что, совсем-совсем никак? Я же написал - грузи частями, предварительно узнав, сколько таких частей будет... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2014, 16:44 |
|
||
|
Прелоадер с процентами во время выполнения ajax запроса
|
|||
|---|---|---|---|
|
#18+
MegaLastaAntonariyфейк можно. зацикленный прогрессбар :) но он же реальные проценты выдавать не будет, верно?ну это же фейк, верно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2014, 16:46 |
|
||
|
Прелоадер с процентами во время выполнения ajax запроса
|
|||
|---|---|---|---|
|
#18+
можно не аякс, а в фрейме. получай лонгпул ответ, первым делом передать общее число записей, потом фронденд их частями получает, отмечает прогрес бар. но врядли оно будет того стоить. сокрей всего оно будет очень быстро... солько ты там данных будешь получать? 100, 200, 400? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2014, 22:25 |
|
||
|
Прелоадер с процентами во время выполнения ajax запроса
|
|||
|---|---|---|---|
|
#18+
MegaLastakrvsa MegaLasta , процент можно показать только если читаешь данные кусками... Получаешь сразу все - фик тебе прогресса. И что, совсем-совсем никак? Никаких хаков и фейков нельзя придумать? Босс то требует :( так скажи боссу за кружкой кофе.. прогрес бар самому хочеться.. но это знаете, как если бы я вам сказал, что хочу в нашей фирме получать зп как в лондоне. и сдесь дело не втом же что вам жалко чтоб я хорошо жил, вы не сможете просто продавать по нашим ценам, а покупать мою работу по лондонским или токийским. я лично за циклический прогрес бар ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2014, 22:27 |
|
||
|
Прелоадер с процентами во время выполнения ajax запроса
|
|||
|---|---|---|---|
|
#18+
торитически - можно, вопрос что за данные? и как они отправляются. если сервер формирует их в какомто цикле (к примеру for .... или while) то используя технологию websockets можно отобразить без проблем. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2014, 07:31 |
|
||
|
Прелоадер с процентами во время выполнения ajax запроса
|
|||
|---|---|---|---|
|
#18+
я так сделал когда клиент отсылает кучу фоток сразу (хром, мозилла) сервер их пересчитывает для уменьшения объёма и полсле зваершения обработки очередной фотки -отправляет клиенту что обработал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2014, 07:35 |
|
||
|
Прелоадер с процентами во время выполнения ajax запроса
|
|||
|---|---|---|---|
|
#18+
с ajax такое не прокатит, на каждый запрос он должен получить ответ... запрос на данные - ответ на данные... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2014, 07:39 |
|
||
|
Прелоадер с процентами во время выполнения ajax запроса
|
|||
|---|---|---|---|
|
#18+
вадяс ajax такое не прокатит, на каждый запрос он должен получить ответ... запрос на данные - ответ на данные... А кто мешает запустить процесс и писать в файл (или куда-то ещё) процент выполнения, а параллельно кидать запросы к серверу с проверкой хода выполнения :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2014, 09:46 |
|
||
|
Прелоадер с процентами во время выполнения ajax запроса
|
|||
|---|---|---|---|
|
#18+
Можно поставить прогрессбар на получаемые данные (xhr.onprogress - он и на аплоад и на даунлоад работает), которые в данный момент передаются от сервера клиенту в этом самом запросе. А если там что-то где-то отдельно на сервере крутится, то можно в кэш сервера записывать ход выполнения и другим параллельным запросом с websockets получать данные. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2014, 10:42 |
|
||
|
Прелоадер с процентами во время выполнения ajax запроса
|
|||
|---|---|---|---|
|
#18+
автор во время аякс запроса на выборку строк из базы. ну если запрос к базе длительный, то получить прогресс бар даже на сервере не получится, т.к. база не выдает никаких данных пока работает запрос. только крутить гифку-индикатор... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2014, 12:44 |
|
||
|
Прелоадер с процентами во время выполнения ajax запроса
|
|||
|---|---|---|---|
|
#18+
вадяавтор во время аякс запроса на выборку строк из базы. ну если запрос к базе длительный, то получить прогресс бар даже на сервере не получится, т.к. база не выдает никаких данных пока работает запрос. только крутить гифку-индикатор... Нет, там как раз куча запросов в цикле. Количество итераций цикла наперед известно, так что тут все норм. Я сейчас делаю вот так: Код: html 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. а внутри пхпшной ф-ии в аяксе: Код: php 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. В итоге получаю крутящийся кружок безо всякого текста, потом отображаются данные, потом они исчезают и выводится кружок со 100%. Отсюда я делаю вывод, что ф-ия: Код: html 1. 2. 3. 4. начинает работать только тогда, когда заканчивает работать основной аякс запрос. Т.е. запросы выполняются сугубо последовательно. Также есть вариант с progress: Код: html 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. Но он работает таким образом, что сначала выдает 100%, а потом только начинает выполняться аякс запрос. Т.е. он считает походу просто объем пхп файла в аяксе, а сколько будет выполняться сам скрипт, он не знает. Записей может быть много, до несколько тыс. ... А с сокетами нужно подумать, конечно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2014, 13:36 |
|
||
|
Прелоадер с процентами во время выполнения ajax запроса
|
|||
|---|---|---|---|
|
#18+
MegaLasta, похоже на блокировку сессии :) Или ещё чего-то... 2 параллельных запроса с одного клиента точно можно сделать... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2014, 14:28 |
|
||
|
Прелоадер с процентами во время выполнения ajax запроса
|
|||
|---|---|---|---|
|
#18+
MegaLasta, если ты поробуешь websocket - ты откажешья от ajax, и тебе захочется всё переделать на websocket . хотя можно и обе технологии использовать параллельно. только надо решить вопрос с кросбраузерностью ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2014, 16:25 |
|
||
|
Прелоадер с процентами во время выполнения ajax запроса
|
|||
|---|---|---|---|
|
#18+
ПрограмёрMegaLasta, похоже на блокировку сессии :) Или ещё чего-то... 2 параллельных запроса с одного клиента точно можно сделать... да, но там сессий нету, вы же видите, что я через базу переписал ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2014, 20:03 |
|
||
|
|

start [/forum/topic.php?fid=22&msg=38726733&tid=1446778]: |
0ms |
get settings: |
7ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
138ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
53ms |
get tp. blocked users: |
1ms |
| others: | 208ms |
| total: | 438ms |

| 0 / 0 |
