Создание, продвижение сайтов
40-33-54

Исправляем ошибку "AJAX запрос завершен неправильно" в Drupal

14 мая 2020

В Друпал 7 есть замечательный AJAX Framework. Но разработчики сделали, что все ошибки в его работе (а они могут случиться на ровном месте) вываливаются на пользователя в виде javascript alert окна. На английском это сообщение выглядит так: An AJAX HTTP request terminated abnormally. Debugging information follows. Path: /system/ajax StatusText: ResponseText: ReadyState: 4

Такая ошибка часто появляется, когда ajax запрос еще продолжается (сервер делает какую-нибудь долгую работу), крутится индикатор работы, а пользователь нажал на ссылку на странице, чтобы с нее уйти. Я придерживаюсь внутреннего убеждения, что выводить сообщения для пользователя с помощью alert'ов - это моветон. Они некрасивые, они выглядят по-разному в разных браузерах и операционных системах и они пугают пользователя. В общем, один негатив.

Именно поэтому мы все алерты будем выводить в консоль браузера (если она есть). Для этого в любой javascript файл (например в нашей drupal теме или в собственном модуле) добавляем следующую строчку:

window.alert = function(arg) { 
  if (window.console && console.log) { 
    console.log(arg);
  }
};

Этим мы переопределяем javascript функцию alert и говорим ей, что вместо создания окна с кнопкой нужно все писать в консоль.

Статьи

Сделайте заказ с сайта и получите 10% скидку на услугу

Заказ услуги с сайта raybin.ru

Нажимая на кнопку "Получить консультацию", я даю согласие на обработку персональных данных и соглашаюсь c условиями политики конфиденциальности
CAPTCHA
Этот вопрос задается для того, чтобы выяснить, являетесь ли Вы человеком или представляете из себя автоматическую спам-рассылку.
Заказать бесплатную SEO-консультацию

Запрос бесплатной SEO - консультации с сайта raybin.ru

Нажимая на кнопку "Получить консультацию", я даю согласие на обработку персональных данных и соглашаюсь c условиями политики конфиденциальности
CAPTCHA
Этот вопрос задается для того, чтобы выяснить, являетесь ли Вы человеком или представляете из себя автоматическую спам-рассылку.
Письмо в компанию Райбин

Письмо в компанию RAYBIN

Нажимая на кнопку "Получить консультацию", я даю согласие на обработку персональных данных и соглашаюсь c условиями политики конфиденциальности
CAPTCHA
Этот вопрос задается для того, чтобы выяснить, являетесь ли Вы человеком или представляете из себя автоматическую спам-рассылку.