Октябрь 27, 2005
Remote Scripting - удаленное исполнение скрипта (Часть 3)
Необходимо создать пустой JavaScript блок, который ссылается на файл Rs.htm, как показано ниже:
<script language = "JavaScript" src=" 1502/RS.htm">
В клиентской странице этот блок может располагаться в любом месте, но до первого удаленного вызова.
Также из клиентской страницы необходимо выполнить вызов метода RSEnableRemoteScripting(). По умолчанию этот метод предполагает, что апплет Rsproxy.class находится в папке _ScriptLibrary, если это не так необходимо указать правильный путь в качестве параметра. Этот скрипт-блок должен располагаться в пределах тела документа, но после скрипт-блока ссылающегося на Rs.htm.
<body>
<script language = "JavaScript">
RSEnableRemoteScripting("../_ScriptLibrary");
</script>
Note: Таг <APPLET> создаваемым методом RSEnableScriptong() нигде явным образом в странице не фигурирует.
Каркас клиентской страницы использующей вызов удаленных процедур выглядит примерно так:
<html>
<head>
<title>Remote Scripting Test</title>
</head>
<body>
<script language = "JavaScript" src=" 1502/RS.htm">
</script>
<script language = "JavaScript">
RSEnableRemoteScripting("../_ScriptLibrary");
</script>
</body>
</html>
<р4>Обеспечение RS с серверной стороны
Для работы с RS необходимо также настроить и серверные страницы. Для этого необходимо:
- Подключить серверные библиотеки и проинициализировать их.
- Реализовать функции и процедуры, которые вы собираетесь удаленно использовать.
- Объявить эти функции и процедуры в качестве серверных методов.
По умолчанию ASP страницы, вызываемые из клиентского скрипта, не отображаются в браузере - они просто выполняются на сервере, а результат отсылается клиенту. Следовательно, нет необходимости включать HTML таги в ASP страницу.
Для подключения и инициализации серверных библиотек удаленного вызова процедур необходимо:
Посредством SSI директивы подключить файл Rs.asp.
<!-- #INCLUDE FILE = "../_ScriptLibrary/RS.ASP" -->
Вызвать метода RSDispatch(), который используется для поиска нужной процедуры при вызове методов со стороны клиента.
<% RSDispatch %>
Вызов этого метода необходимо сделать в самом начале скрипта.
Объявить функции и процедуры, которые вы хотите вызывать из клиентского скрипта, как серверные методы. Это процедуры могут быть реализованы на любом языке сценариев. Процедуры могут принимать любое число параметров, но эти параметры должны быть простого типа - строки, числа. В качестве параметров не могут использоваться объекты или массивы.
Note: При вызове удаленных процедур все параметры преобразуются в строки и если вы используете другие простые типы необходимо вручную приводить их к нужному типу в вызываемой процедуре.
продолжение следует...
Разместил:
Автор: