【发布时间】:2017-10-20 10:57:25
【问题描述】:
将登录表单更改为“remote: true”后,我出现了一些奇怪的行为。 之前,在登录成功后,我做了一个重定向到另一个页面,该页面在正文中执行 Javascript。
<script>
writeCookie();
</script>
Javascript 是通过视图特定的咖啡文件加载的
#= require write_time_zone_cookie
writeCookie() 按预期工作,但是在我将登录表单更改为“remote: true”后,我在 redirect_to 之后收到 JS 错误。
Uncaught ReferenceError: writeCookie is not defined
at HTMLDocument.<anonymous> (<anonymous>:4:11)
at HTMLDocument.dispatch (jquery.self-bd7ddd393353a8d2480a622e80342adf488fb6006d667e8b42e4c0073393abee.js?body=1:5227)
at HTMLDocument.elemData.handle (jquery.self-bd7ddd393353a8d2480a622e80342adf488fb6006d667e8b42e4c0073393abee.js?body=1:4879)
at Object.t.dispatch (turbolinks.self-1d1fddf91adc38ac2045c51f0a3e05ca97d07d24d15a4dcbf705009106489e69.js?body=1:6)
at r.t.Controller.r.notifyApplicationAfterPageLoad (turbolinks.self-1d1fddf91adc38ac2045c51f0a3e05ca97d07d24d15a4dcbf705009106489e69.js?body=1:7)
at r.t.Controller.r.visitCompleted (turbolinks.self-1d1fddf91adc38ac2045c51f0a3e05ca97d07d24d15a4dcbf705009106489e69.js?body=1:7)
at r.t.Visit.r.complete (turbolinks.self-1d1fddf91adc38ac2045c51f0a3e05ca97d07d24d15a4dcbf705009106489e69.js?body=1:6)
at r.<anonymous> (turbolinks.self-1d1fddf91adc38ac2045c51f0a3e05ca97d07d24d15a4dcbf705009106489e69.js?body=1:6)
at turbolinks.self-1d1fddf91adc38ac2045c51f0a3e05ca97d07d24d15a4dcbf705009106489e69.js?body=1:6
我已经尝试了一些来自网络的建议,例如:
$(document).on('turbolinks:load', function() {
writeCookie();
});
但这并不能解决我的问题。 有人有想法吗?
谢谢 亚历克斯
【问题讨论】:
-
你能发布你的整个 javascript 清单文件 (application.js) 吗?
-
@PatrickO'Grady //= 需要 turbolinks //= 需要 read_url_params
标签: javascript ruby-on-rails ajax turbolinks