Полный цикл в digital

BX.ajax - функция для отправки аяксовых запросов

Функция возвращает ссылку на объект XMLHttpRequest, при помощи которого осуществляется запрос. В случае успеха запроса будет вызван обработчик onsuccess. В качестве параметра будет результат запроса. Если параметр processData установлен в true, то обработка будет в зависимости от типа данных:

  • html результат будет очищен от js-кода. Код будет выполнен после передачи данных обработчику. Перед передачей будут выполнены все скрипты с атрибутом bxrunfirst, или все скрипты, если параметр scriptsRunFirst установлен в true
  • script полученный результат будет передан обработчику и выполнен. Что раньше – определяется параметром scriptsRunFirst
  • json результат будет интерпретирован как описание объекта в формате json, обработчик получит объект

Если подключена библиотека для работы с localStorage (core_ls), то помимо перечисленных параметров можно использовать указать параметры:

  • lsId строковой идентификатор для передачи данных запроса между различными вкладками
  • lsTimeout время жизни данных запроса
  • lsForce false|true

Эти параметры предназначены для интерфейсов, постоянно опрашивающих сервер с целью получения каких-либо данных. В этом случае данные запроса будут сохраняться в localStorage, и если в любой вкладке текущего браузера будет сделан запрос с тем же самым lsId, то вместо совершения запроса обработчик получит данные, сохраненные в localStorage. Соответственно, lsTimeout должен быть чуть меньше интервала отправки запросов. Параметр lsForce позволяет принудительно отправить запрос в обход проверки наличия данных в localStorage и обновить это данные.

Запрос

Пример рабочего скрипта, когда на клиенте делается запрос к файлу обработчику:

// функция которую инициализируем, например по клику на кнопку
function LazyBanner() {
    BX.ajax({
        url: '/test.php', // файл на который идет запрос
        method: 'POST', // метод запроса GET/POST
        // параметры передаваемый запросом
        data: {
            NAME: 1 
        },
        // ответ сервера лежит в data
        onsuccess: function(data) {
            document.querySelector("#www").innerHTML = data
        }
    })
}

Возможные значения:

  • url URL запроса
  • method GET|POST
  • data POST данные для отправки (строка или объект)
  • dataType html|json|script данные какого типа предполагаются в ответе
  • timeout 60 таймаут запроса в секундах
  • async true|false должен ли запрос быть асинхронным или нет
  • processData true|false нужно ли сразу обрабатывать данные?
  • scriptsRunFirst false|true нужно ли выполнять все найденные скрипты перед тем, как отдавать сожеримое обработчику или только те, в тэге которых присутствует атрибут bxrunfirst
  • emulateOnload true|false – нужно ли эмулировать событие window.onload для загруженных скриптов
  • start true|false отправить ли запрос сразу или он будет запущен вручную
  • cache true|false – в случае значения false к параметру URL будет добавляться случайный кусок, чтобы избежать браузерного кэширования
  • onsuccess функция-обработчик результата
  • onfailure функция-обработчик ошибки
Заполните форму уже сегодня!
Для начала сотрудничества необходимо заполнить заявку или заказать обратный звонок. В ответ получите коммерческое предложение, которое будет содержать индивидуальную стратегию с учетом требований и поставленных задач
Работаем по будням с 9:00 до 18:00. Заявки, отправленные в выходные, обрабатываем в первый рабочий день до 12:00.
Спасибо, ваш запрос принят и будет обработан!
Эйч Маркетинг