|
|
|
Синхронный запрос
|
|||
|---|---|---|---|
|
#18+
Здравствуйте! Вчера была тема "Мистика в JS", у меня похожая ситуация) Привожу код с комментариями: Код: javascript 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. Пытался в строке Код: javascript 1. вместо true поставить false, типа выполнить синхронный запрос - не помогло. Посоветуйте, пожалуйста, что делать. Я думал поставить setTimeout на весь код, который после вызова getAcntArray(), но это не выход - если запрос длится дольше чем время таймаута, появится ошибка. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2014, 11:46 |
|
||
|
Синхронный запрос
|
|||
|---|---|---|---|
|
#18+
Валисий, Не проще ли все это обернуть в функцию. А функцию вызывать в проверке 4-го состояние запроса? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2014, 12:05 |
|
||
|
Синхронный запрос
|
|||
|---|---|---|---|
|
#18+
Суть в том, что мне нужно на разных этапах работы проверять, не пустой ли массив acntArray. Если пустой - заполнять. Я привел тот случай, когда мне нужно проверить его на пустоту и заполнить им список. Есть другие моменты. Поэтому обернуть все в функцию не могу. Или я Вас неправильно понял? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2014, 12:08 |
|
||
|
Синхронный запрос
|
|||
|---|---|---|---|
|
#18+
Валисий, синхронный запрос делать не надо. Он подвесит на фиг браузер. Нужно код заточить под асинхронность. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2014, 12:31 |
|
||
|
Синхронный запрос
|
|||
|---|---|---|---|
|
#18+
ВалисийСуть в том, что мне нужно на разных этапах работы проверять, не пустой ли массив acntArray. Если пустой - заполнять.сделай так: Код: javascript 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. потом вызывать так: Код: javascript 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2014, 12:33 |
|
||
|
Синхронный запрос
|
|||
|---|---|---|---|
|
#18+
мой вариант хорошо прокатит, если getAcntArray будет вызываться нечасто. иначе может быть несколько случаев $.isEmptyObject(acntArray), и в итоге несколько запросов. в этом случае надо хранить флаг наличия запроса и callback ставить в очередь, по onreadystatechange снимать флаг и выполнять все калбеки из очереди. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2014, 12:37 |
|
||
|
Синхронный запрос
|
|||
|---|---|---|---|
|
#18+
Яростный Меч, не помог callback. Работает (ошибку не выдает), но список пустой. А что я должен в том учебнике про аякс прочитать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2014, 12:40 |
|
||
|
Синхронный запрос
|
|||
|---|---|---|---|
|
#18+
ВалисийЯростный Меч, не помог callback. Работает (ошибку не выдает), но список пустой.запускай в хроме, нажимай F12, смотри под отладчиком, что и как выполняется, где косяк. или вывод в лог делай, функция console.log, она в отличие от алерта и дебаггера не мешает асинхронности. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2014, 13:07 |
|
||
|
Синхронный запрос
|
|||
|---|---|---|---|
|
#18+
Яростный меч, я так понял, что просто колбэк-функция не отрабатывает. Код: javascript 1. 2. 3. 4. 5. 6. 7. 8. Ни один алерт не сработал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2014, 13:13 |
|
||
|
Синхронный запрос
|
|||
|---|---|---|---|
|
#18+
И, судя по всему, XHR-запрос не проходит: я поставил алерты после onreadystatechange и после if (readystate==4), и опять же, ни один алерт не сработал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2014, 14:14 |
|
||
|
|

start [/forum/topic.php?fid=22&fpage=98&tid=1447014]: |
0ms |
get settings: |
11ms |
get forum list: |
20ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
71ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
63ms |
get tp. blocked users: |
2ms |
| others: | 242ms |
| total: | 433ms |

| 0 / 0 |
