От Rails 4.2.6 до Rails 5.2: встраивание javascript перестало работать - PullRequest
0 голосов
/ 09 апреля 2019

Я схожу с ума из-за ошибки, которую не могу устранить.

У меня есть два приложения-близнеца, Rails 4.2.6 На прошлой неделе я обновляю одно из приложений до Rails 5.2, и у меня возникла проблема, с которой я столкнулся.не могу решить.

Мне нужно встроить опрос surveygizmo, используя опцию встраивания javascript.

<script type="text/javascript" >document.write('<script src="http' + ( ("https:" == document.location.protocol) ? "s" : "") + '://www.surveygizmo.com/s3/4720247/Valutazione-corso-11-2018-Droni?__output=embedjs&__ref=' + escape(document.location.origin + document.location.pathname) + '" type="text/javascript" ></scr' + 'ipt>');</script><noscript>How to do market research for a startup - <a href="https://www.surveygizmo.com/survey-blog/market-research-guide/">SurveyGizmo</a>. <a href="https://www.surveygizmo.com/s3/4720247/Valutazione-corso-11-2018-Droni??jsfallback=true">Please take my survey now</a></noscript><style>.sg-survey{display:none; }</style>

Это в основном код для встраивания моего опроса.Все отлично работает с приложением Rails 4.2.6.

Я встраиваю опрос в свою страницу

http://localhost:3000/academy/x

Встроенный сюрприз с помощью js представляет собой такую ​​форму

<form action="https://www.surveygizmo.com/s3/4720247/Valutazione-corso-11-2018-Droni?__passthrough=true&amp;__output=embedjs" method="post" enctype="multipart/form-data" class="sg-survey-form" id="sg_FormFor4720247">
....
</form>

После первого вопроса я нажимаю кнопку «Далее».Javascript перезагрузить страницу после отправки.URL не меняется, но JavaScript добавляет некоторые параметры и переходит на вторую страницу викторины.

http://localhost:3000/academy/quizname?sg_sessionid=1554759916_5cabc0ec6ef335.47362214&__sgtarget=-1&__sgbrwsrid=ce002058f1cf7bc9b49454a47b0df149#sgbody-4720247

Все отлично работает.

Теперь поведение после обновления до Rails5.2

Я встраиваю опрос в свою страницу

http://localhost:3000/academy/quizname

Я отвечаю на вопрос, такая же форма, все то же самое.Когда я нажимаю на следующую, страница перезагружается, но вместо того, чтобы оставаться на странице опроса, она перенаправляется на домашнюю страницу.

http://localhost:3000/?sg_sessionid=1554760363_5cabc2abe7fa07.75536612&__sgtarget=-1&__sgbrwsrid=1260266e6a4b432fbd5f95e7785fdb41#sgbody-4720247

Что-то изменилось в Rails после обновления, но я не могу понять, как это исправить.Я не могу использовать предотвращение по умолчанию, я должен отправить форму.Но я должен остаться на той же странице, и с Rails 5.2 он перенаправляет на домашнюю страницу.

Обновление: я регистрирую почтовый вызов, и меняется политика реферера

В рельсах 4.2.6 Ihave: no-referrer-when-downgrade В rails 5.2: строго-origin-when-cross-origin

Веб-сайт http, surveygizmo - https ... при такой политике он не передает реферрер.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...