ServiceNow, как платформа для управления сервисами предприятия, предоставляет различные инструменты для эффективной разработки и автоматизации бизнес-процессов. Один из таких инструментов — GlideAjax API, который обеспечивает взаимодействие между клиентским и серверным кодом, позволяя эффективно обрабатывать данные в ServiceNow.

Основы GlideAjax API

GlideAjax – это мощный механизм в ServiceNow, который позволяет асинхронно вызывать серверные скрипты из клиентского кода. Это позволяет обновлять данные на стороне клиента без необходимости перезагрузки страницы.

Когда клиентский скрипт вызывает GlideAjax, запрос отправляется на сервер, где выполняется соответствующий скрипт. Результат возвращается клиенту, и клиент может использовать эти данные для динамического обновления интерфейса пользователя (UI).

Пример использования

Давайте рассмотрим пример использования GlideAjax для получения данных с сервера и их отображения на стороне клиента.

  • Создание серверного скрипта

Сначала создадим серверный скрипт. Перейдите в «Сценарии > Серверные сценарии» и создайте новый сценарий с примерно следующим содержимым:

«`javascript

// Пример серверного скрипта (Server Script)

var GlideAjaxExample = Class.create();

GlideAjaxExample.prototype = Object.extendsObject(AbstractAjaxProcessor, {

getData: function() {

// Ваш код для получения данных

var data = «Привет, это данные с сервера!»;

return data;

}

});

«`

  • Создание клиентского скрипта

Теперь создадим клиентский скрипт для вызова GlideAjax и обработки возвращенных данных. Перейдите в «Сценарии > Клиентские сценарии» и создайте новый сценарий:

«`javascript

// Пример клиентского скрипта (Client Script)

function getServerData() {

var ga = new GlideAjax(‘GlideAjaxExample’);

ga.addParam(‘sysparm_name’, ‘getData’);

ga.getXML(handleResponse);

}

function handleResponse(response) {

var data = response.responseXML.documentElement.getAttribute(‘answer’);

// Ваш код для обработки данных

alert(«Данные с сервера: » + data);

}

«`

  • Вызов из формы или UI Action

Теперь можно вызвать `getServerData()` из любого места на форме или через UI Action, чтобы получить данные с сервера асинхронно.

Преимущества GlideAjax

  • Асинхронность: GlideAjax позволяет выполнять запросы к серверу асинхронно, что повышает отзывчивость интерфейса.
  • Обмен данными: удобство обмена данными между клиентом и сервером через удобный XML-формат.
  • Минимизация перезагрузок: позволяет обновлять только необходимые части страницы, минимизируя необходимость полной перезагрузки.

Заключение

GlideAjax API в ServiceNow предоставляет мощный механизм для эффективного взаимодействия между клиентским и серверным кодом. Правильное использование GlideAjax существенно улучшает пользовательский опыт, обеспечивая быстрый обмен данными без лишних перезагрузок страницы.