За последние 24 часа нас посетил 8771 программист и 667 роботов. Сейчас ищут 190 программистов ...

“Synchronous XMLHttpRequest” и “History.js Adapter has already been loaded…” . Как исправить?

Тема в разделе "PHP для новичков", создана пользователем alexnevajno, 4 апр 2018.

Метки:
  1. alexnevajno

    alexnevajno Новичок

    С нами с:
    4 апр 2018
    Сообщения:
    1
    Симпатии:
    0
    Пишу новостной сайт. При добавлении статьи на сайт при отправке формы происходит AJAX запрос с валидацией формы на стороне сервера. Если форма прошла валидацию, то я вызываю метод render для отображения страницы оповещения о том, что статья успешно добавлена на сайт. Когда открывается страница оповещения, в консоли выдается следующее:

    Код (Text):
    1.  
    2. [Deprecation] Synchronous XMLHttpRequest on the main thread is deprecated because of its detrimental effects to the end user's experience. For more help, check https://xhr.spec.whatwg.org/.
    3. VM7252:1 Uncaught Error: History.js Adapter has already been loaded...
    4.     at <anonymous>:1:3468
    5.     at <anonymous>:1:3816
    6.     at p (jquery-3.2.1.min.js:2)
    7.     at Function.globalEval (jquery-3.2.1.min.js:2)
    8.     at text script (jquery-3.2.1.min.js:4)
    9.     at Qb (jquery-3.2.1.min.js:4)
    10.     at A (jquery-3.2.1.min.js:4)
    11.     at XMLHttpRequest.<anonymous> (jquery-3.2.1.min.js:4)
    12.     at Object.send (jquery-3.2.1.min.js:4)
    13.     at Function.ajax (jquery-3.2.1.min.js:4)
    Однако когда я просто перехожу по страницам сайта в консоли такого нет (хотя вызывается тот же метод render). Я грешу на то, что ошибка появляется, потому что для валидации использовался AJAX запрос, в результате которого я вызываю render для отображения страницы оповещения. Страницы, а не ее части (для чего и нужен AJAX). Да и History.js выдает то, что она уже подключена - как будто у меня поменялась часть страницы, а не вся страница.

    Как мне исправить эту ошибку?

    P.S. пишу сайт на Kohana, но не стал ее указывать в метках, потому что, как мне кажется, вопрос относится не только к ней.

    Если что, вот тот самый метод render:
    PHP:
    1. public function render($template, $data = array()) {
    2.     $this->response->body(View::factory($this->template_main)
    3.         ->set('template', $template)
    4.         ->set('user', $this->user)
    5.         ->set('errors', $this->errors)
    6.         ->set($data));
    7. }
    Он находится в классе:
    PHP:
    1. class Controller extends Kohana_Controller