powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Timeout для отдельной csp-страницы
3 сообщений из 28, страница 2 из 2
Timeout для отдельной csp-страницы
    #36060357
sutni
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть js метод onloadHandler(). Насколько я понял, он выполняется после загрузки страницы. Возможно, он то что мне нужно.
Но я никак не разобрался, как из него вызвать свою серверную zen функцию:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
Method onloadHandler() [ Language = javascript ]
{
	//setTimeout("#(..BuildReport())#",  5000 );
	//zenPage.BuildReport();
	//#server(..BuildReport())#;
	//#server(..BuildReport())
	//#($d ..BuildReport())#;	
}
Ни одна из строк - не работает.
...
Рейтинг: 0 / 0
Timeout для отдельной csp-страницы
    #36060585
servit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробуйте этот пример:
Код: plaintext
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.
...
/// Этот XML блок описывает содержимое этой страницы.
XData Contents [ XMLNamespace = "http://www.intersystems.com/zen" ]
{
<page xmlns="http://www.intersystems.com/zen" title="">
  <text id="txt" value="" size="30"/>
  <button caption="Отчёт" onclick="zenPage.getComponentById('txt').setValue('Идёт генерация отчёта...');zenPage.BigWork();"/>
</page>
}

Method BigWork() [ ZenMethod ]
{
  h  70 
  set txt="Отчёт успешно сгенерирован"
  set %page.%GetComponentById("txt").value=txt
  &js<alert('#(txt)#');>
  Quit
}

/// This client event, if present, is fired when the page is loaded.
Method onloadHandler() [ Language = javascript ]
{
  alert('Страница успешно загружена');
  //zenPage.BigWork(); это работает
}
...

Поскольку серверный метод не имеет тип возврата, то он будет вызываться асинхронно (клиент может продолжать работать).
Если его переписать, например, так:
Код: plaintext
1.
2.
3.
4.
5.
Method BigWork() As %Status [ ZenMethod ]
{
  ...
  Quit $$$OK
}
, то он будет вызываться уже синхронно (клиент будет ждать окончания выполнения): Синхронные и Асинхронные Методы

PS: у меня с настройками по умолчанию таймаута нет ошибок (Caché 2009.1 RC, IE8)
...
Рейтинг: 0 / 0
Timeout для отдельной csp-страницы
    #36061301
sutni
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
servit,

Огромное вам спасибо.
...
Рейтинг: 0 / 0
3 сообщений из 28, страница 2 из 2
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Timeout для отдельной csp-страницы
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]