sorry_i_noob
@sorry_i_noob

Почему выдается предупреждение “Synchronous XMLHttpRequest” и ошибка “History.js Adapter has already been loaded…” при отображении страницы?

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

[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/.
VM7252:1 Uncaught Error: History.js Adapter has already been loaded...
    at <anonymous>:1:3468
    at <anonymous>:1:3816
    at p (jquery-3.2.1.min.js:2)
    at Function.globalEval (jquery-3.2.1.min.js:2)
    at text script (jquery-3.2.1.min.js:4)
    at Qb (jquery-3.2.1.min.js:4)
    at A (jquery-3.2.1.min.js:4)
    at XMLHttpRequest.<anonymous> (jquery-3.2.1.min.js:4)
    at Object.send (jquery-3.2.1.min.js:4)
    at Function.ajax (jquery-3.2.1.min.js:4)

Однако когда я просто перехожу по страницам сайта в консоли такого нет (хотя вызывается тот же метод render). Я грешу на то, что ошибка появляется, потому что для валидации использовался AJAX запрос, в результате которого я вызываю render для отображения страницы оповещения. Страницы, а не ее части (для чего и нужен AJAX). Да и History.js выдает то, что она уже подключена - как будто у меня поменялась часть страницы, а не вся страница.

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

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

Если что, вот тот самый метод render:
public function render($template, $data = array()) {
    $this->response->body(View::factory($this->template_main)
        ->set('template', $template)
        ->set('user', $this->user)
        ->set('errors', $this->errors)
        ->set($data));
}

Он находится в классе:
class Controller extends Kohana_Controller
  • Вопрос задан
  • 7516 просмотров
Пригласить эксперта
Ответы на вопрос 1
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы