从Rails 4.2.6到Rails 5.2:javascript嵌入停止工作

时间:2019-04-08 21:55:21

标签: ruby-on-rails

我为无法解决的错误而疯狂。

我有两个孪生应用程序,Rails 4.2.6 上周,我将其中一个应用程序更新为Rails 5.2,但有一个我无法解决的问题。

我必须使用javascript embed选项来嵌入Surveygizmo调查。

<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在提交后重新加载页面。网址没有变化,但是javascript附加了一些参数,然后转到测验的第二页。

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

一切正常。

现在更新到Rails 5.2后的行为

我将调查问卷嵌入页面中

http://localhost:3000/academy/quizname

我回答了这个问题,所有表格都一样。当我下一次推送页面时,页面重新加载,而不是停留在调查页面中,而是重定向到首页。

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

Rails在更新后发生了一些变化,但我不知道如何解决。我无法使用阻止默认设置,我必须提交表单。但是我必须停留在同一页面上,并且使用Rails 5.2重定向到主页。

更新:我记录了帖子通话,并更改了推荐人政策

在Rails 4.2.6中,我有:降级时无引荐来源 在Rails 5.2中:strict-origin-when-cross-origin

该网站为http,Surveygizmo为https ...使用此政策,它不会通过引荐来源。

0 个答案:

没有答案