1

Я просто столкнулся с странным поведением в моем текущем веб-приложении RoR: каждый раз, когда я использую кнопку возврата браузера (в нескольких браузерах проверены, включен безопасный режим), запрос GET отправляется несколько раз , дублируется. Иногда два раза, но до 5 раз подряд менее чем за 3 секунды. Это также заставляет SQL-запросы запускаться несколько раз, делая то же самое. Если я использую ссылки для возврата или вставляю URL-адреса для доступа к предыдущей странице, этого не происходит. Кто-нибудь сталкивался с этим или знал, что может вызвать это?Rails - кнопка «Назад» генерирует повторяющиеся запросы сервера

Благодарим за помощь!

Бест,

Alex

ответ

2

Хотя я нашел это быть вызвано другими вопросами, главным cuprit является Turbolinks.

В принципе, Turbolinks загружает body вашего нового вида через ajax, вместо того, чтобы тянуть всю страницу (это означает ускорение приложения на производстве).

Часто бывает, что Turbolinks вызывает такие проблемы, как дубликаты запросов при нажатии кнопки back и т. Д. ... хотя получить его в каждом браузере очень странно.

-

Из-за отсутствия кода, я могу только догадываться по этому вопросу.

Возможно, это неверно, но хороший тест, чтобы увидеть, если он реплицируется, заключается в удалении ссылок на turbolinks в ваших JS-файлах; в частности:

#app/assets/javascripts/application.js 
//= require turbolinks <- remove this line and see if it fixes the issue 

Я с радостью удалю ответ, если он не подходит. Лучше всего публиковать репо, чтобы люди могли видеть, какая у вас инфраструктура.

+0

Да, удаление турбовинтов исправлено! благодаря ! – AlexM88

0

Для меня я понял, что проблема была вызвана javascript_include_tag из тега head в файле aplication.html.erb.

После переезда в правильное место (внутри тега заголовка, сразу после stylesheet_link_tag) несколько запросов исчезли!

Смежные вопросы