• 🔥 Бесплатный курс от Академии Кодебай: «Анализ защищенности веб-приложений»

    🛡 Научитесь находить и использовать уязвимости веб-приложений.
    🧠 Изучите SQLi, XSS, CSRF, IDOR и другие типовые атаки на практике.
    🧪 Погрузитесь в реальные лаборатории и взломайте свой первый сайт!
    🚀 Подходит новичкам — никаких сложных предварительных знаний не требуется.

    Доступ открыт прямо сейчас Записаться бесплатно

Частичное Обновление (ajax)

  • Автор темы Автор темы pikar
  • Дата начала Дата начала
P

pikar

Доброго времени суток!
Не сталкивался ли кто с такой ситуацией. Имеется несколько полей для частичного обновления (пусть вычисляемые поля или рипиты с кодом), которые являются реализациями одного и того же элемента в XPage (т.е. лежат в рипите). Нужно выполнить их частичное обновление из клиентского кода, причем несколько и одновременно, а не последовательно. Последовательно - решаемо так:
XSP.partialRefreshGet(id1,{onComplete: function(){XSP.partialRefreshGet(id2,{onComplete: ... })}}).
А вот одновременно - не получается. Последовательное применение partialRefresh не работает, т.к. если первое обновление не завершилось, то второе просто не стартует (реализация этой функции такова?).
Попытался воспользоваться другими функциями для отправки ajax - запросов, одновременно работает, но часто вываливает внутреннюю ошибку сервера. Вопрос в том, можно ли все-таки запустить корректно это самое обновление параллельно с получением корректных результатов?
 
А если не пихат вызов второго рефреша в onComplite, а сделать их паралельно?

XSP.partialRefreshGet(id1,{});
XSP.partialRefreshGet(id2,{});
XSP.partialRefreshGet(id3,{});

А если ошибка, то в onError вызвать неотработавший рефрешь ещё раз.

ПС: сам не пробывал так делать :)
 
(реализация этой функции такова?).
реализация записи такова, что след. асинхронный запрос (по вашему коду) будет тока "в случае" onComplete
я не знаю какие ещё события зареганы в хэндлере..., возможно есть более подходящие, но, как указал Zeka, в цепочку их связывать необязательно


Добавлено: вот
почемубы не onStart ;) или ковырнуть через dojo (можно даже на init замутить)
 
А если не пихат вызов второго рефреша в onComplite, а сделать их паралельно?

XSP.partialRefreshGet(id1,{});
XSP.partialRefreshGet(id2,{});
XSP.partialRefreshGet(id3,{});

А если ошибка, то в onError вызвать неотработавший рефрешь ещё раз.

ПС: сам не пробывал так делать ;)
Именно так и не работает. Т.е. первая отрабатывает, а остальные нет. Если первая успеет отработать, но пойдет следующая, если нет, просто ничего не делает. Ошибки нет, во второй onStart не отрабатывается даже.
 
первый пост содержит цепочку! - из чего не понятно следующее утверждение
Именно так и не работает
т.к. второй пост не содержит цепочки вовсе
вы уж определитесь - как "не работает" ;) (ссылку читали?)
 
реализация записи такова, что след. асинхронный запрос (по вашему коду) будет тока "в случае" onComplete
я не знаю какие ещё события зареганы в хэндлере..., возможно есть более подходящие, но, как указал Zeka, в цепочку их связывать необязательно

почемубы не onStart ;) или ковырнуть через dojo (можно даже на init замутить)
если не в цепочку - не работает, проблема только в этом.
onStart? ну это можно попробовать.
А через dojo... я jQuery пользуюсь, так вот как и писал, обновления запускаются, периодически внутренняя ошибка сервера (ошибки в серверном javascript), если запускать параллельно. Если по очереди, все нормально (тот же самый серверный JS без ошибок). У меня объяснение только одно: проблема в том, что обновляется фактически один и тот же компонент при нескольких одновременных запросах.
 
первый пост содержит цепочку! - из чего не понятно следующее утверждение т.к. второй пост не содержит цепочки вовсе
вы уж определитесь - как "не работает" ;) (ссылку читали?)
Простите, а Вы первый пост достаточно внимательно читали? ;)
За ссылку спасибо. Обязательно поразбираюсь, при первом просмотре не все внял. ;)
 
Простите, а Вы первый пост достаточно внимательно читали?
читал, но возможно формулировка не дала мне однозначного восприятия ;) (и судя по второму посту - не только мне)
 
ссылку я дал - перехват и посмотреть для отладки - что происходит при вызове
 
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab