You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Next »

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

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

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

    1. задайте параметр sysparm_name,
    2. и название метода, взятого из части include вызываемого скрипта.

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

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

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

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

Больше информации и примеров смотрите в статье Script Includes.

addParam(paramName, paramValue)


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

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

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


Parameter(s):

NameTypeMandatoryDefault value
paramNameStringYN
paramValueStringYN


Return:

TypeDescription
VoidThis method does not return a value.


Example:

addParam
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)


By calling this method, the client script sends a request to the server where the method and parameters related to the current SimpleAjax object are executed. The request is processed asynchronously. The results will be returned via the function specified as a callback. 


Return:

TypeDescription
VoidThis method does not return a value.


Example:

getXML
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)


Use this method to run a script against a table specified. The script is run with the ACL restrictions.

The callback function receives the answer element of the response.

Parameter(s):

NameTypeMandatoryDefault Value
scriptValueStringYN

tableName

StringNN
callbackFunctionNN

Return:

TypeDescription
VoidThis method does not return a value.

Example:

runScript
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)


Use this method to run a script by a user with the administrator role. There are no ACL restrictions for the script. If a user, who does not have the administrator role, attempts to a run the script, the method returns an empty result. Therefore, before using the script result, verify that the response.data.result is not empty.

The callback function receives the answer element of the response.

Parameter(s):

NameTypeMandatoryDefault Value
scriptValueStringYN

tableName

StringNN
callbackFunctionNN


Return:

TypeDescription
VoidThis method does not return a value.


Example:

runScript
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);
  }
)
  • No labels