Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Данный класс позволяет клиентскому скрипту выполнять серверный код, используя Script Includes Внешний скрипт.

Для того чтобы использовать класс SimpleAjax, выполните следующие шаги:

  1. Вызовите конструктор SimpleAjax, чтобы создать экземпляр SimpleAjax. В качестве аргумента передайте в конструктор название Внешний скриптвнешнего скрипта, который включает в себя класс с необходимыми методами.
  2. Вызовите метод addParam(paramName, paramValue). В качестве обязательного вызова передайте в него параметры, определяющие требуемый метод.   Для этого выполните следующие шаги:

    1. задайте параметр параметр sysparm_name,
    2. и название метода из определённого в вызываемом Внешнем скрипте класса.

    Вызывайте этот метод необходимое количество раз, чтобы передать другие параметры в используемый Внешний внешний скрипт.

  3. Вызовите метод getXML getXML(callback), чтобы выполнить описанный выше метод.
Note

Название класса, определенного в записи Script Include Внешний скрипт, должно совпадать с названием Script Includeвнешнего скрипта.

Для того чтобы Script Include можно было вызывать в возможности вызова внешнего скрипта в клиентских скриптах, активируйте атрибут Доступно для Client клиентского API.

Больше информации и примеров смотрите Подробнее читайте в статье Script Includes Внешние скрипты.

addParam(paramName,

paramValue

param Value)


Этот Используйте метод передает , чтобы передать указанное имя и значение параметра серверной функции, которая связана с текущим объектом SimpleAjax. Метод addParam() можно использовать несколько раз, передавая различные параметры и их значения.

Note

На стороне сервера код скрипт выполняется только после вызова клиентским скриптом метода getXML() в клиентском скрипте.

Название параметра должно начинаться с префикса sysparm_. Избегайте использования предопределенного имени Не используйте предопределенное имя параметра sysparm_name для передачи значения параметру функции.

Параметры:

НазваниеТипОбязательныйЗначение по умолчанию
paramNameString
Д
Да
Н
Нет
paramValueString
Д
Да
Н
Нет

Возвращаемое значение:

ТипОписание
Void
Этот метод
Метод не возвращает значение.

Пример:

Code Block
languagejs
themeEclipse
titleaddParam()
linenumberstrue
const sAjax = new SimpleAjax('DurationCalculator'); // callВызов scriptвнешнего includeскрипта
sAjax.addParam('sysparm_name', 'getDuration'); // callВызов classметода methodкласса
sAjax.addParam('sysparm_start', s_form.getValue('start')); // passПередать parameterпараметр
sAjax.getXML(callback);

function callback(response) {
  const answer = response.responseXML.documentElement.getAttribute('answer');
  console.log(answer);
}

getXML(callback)

 
Anchor
XML
XML


Используйте метод, чтобы при его вызове клиентский скрипт отправлял При вызове этого метода клиентский скрипт отправляет запрос на сервер, где выполняется метод текущего объекта SimpleAjax с переданными в него параметрами. Запрос выполняется асинхронно. Результат выполнения серверного метода будет передан в указанную функцию callback.

Возвращаемое значение:

ТипОписание
Void
Этот метод
Метод не возвращает значение.

Пример:

Code Block
languagejs
themeEclipse
titlegetXML()
linenumberstrue
const sAjax = new SimpleAjax('DurationCalculator'); // callВызов scriptвнешнего includeскрипта
sAjax.addParam('sysparm_name', 'getDuration'); // callВызвать classпараметр methodметода
sAjax.addParam('sysparm_start', s_form.getValue('start')); // passпередать parameterпараметр
sAjax.getXML(callback);

function callback(response) {
  const answer = response.responseXML.documentElement.getAttribute('answer');
  console.log(answer);
}

runScript(scriptValue, tableName, callback)


Используйте этот метод для запуска скрипта на заданной таблице. Скрипт выполняется с учетом ограничений правил контроля доступа (ACL).

Info

Результат выполнения скрипта будет передан в указанную функцию callback.

Параметры:

НазваниеТипОбязательныйЗначение по умолчанию
scriptValueStringДДаННет

tableName

Tooltip
onlyIcontrue
appendIconinfo-filled
iconColorblue

Этот параметр используется для отображения информации и результатов выполнения скрипта на некоторых страницах, таких как record/sys_script.


StringННетННет
callbackFunctionННетННет

Возвращаемое значение:

ТипОписание
Void
Этот метод
Метод не возвращает значение.

Пример:

Code Block
languagejs
themeEclipse
titlerunScript()
linenumberstrue
const CURRENT_ID = s_form.getUniqueValue();

const simpleAjax = new SimpleAjax();
await simpleAjax.runScript(
  `const current = new SimpleRecord('task');
  current.get('${CURRENT_ID}');
  setResult(current.caller.email)`,
  null,
  (response) => {
    console.log(response.data.result);
  }
)

runAdminScript(scriptValue, tableName, callback)


Пользователи с ролью администратора могут использовать этот метод для запуска скрипта. Ограничения правил контроля доступа (ACL) не распространяются на скрипт. При попытке запуска скрипта пользователем, который не является администратором, метод возвращает пустой результатпередаст в функцию callback пустое значение. Таким образом, перед использованием результата скрипта убедитесь в том, что response.data.result имеет значение.

Info

Результат выполнения скрипта будет передан в указанную функцию callback.

Параметры:

НазваниеТипОбязательныйЗначение по умолчанию
scriptValueStringДДаННет

tableName

Tooltip
onlyIcontrue
appendIconinfo-filled
iconColorblue

Этот параметр используется для отображения информации и результатов выполнения скрипта на некоторых страницах, таких как record/sys_script.


StringННетННет
callbackFunctionННетННет

Возвращаемое значение:

ТипОписание
Void
Этот метод
Метод не возвращает значение.

Пример:

Code Block
languagejs
themeEclipse
titlerunScriptrunAdminScript()
linenumberstrue
const simpleAjax = new SimpleAjax();
await simpleAjax.runAdminScript(
  `const supportSiteURL = ss.getProperty('simple.auth_page.support_site');
  setResult(supportSiteURL)`,
  null,
  (response) => {
    const serverData = response.data.result;
    console.log(serverData);
  }
)


Table of Contents
absoluteUrltrue
classfixedPosition