javascript - 将 Javascript 变量传递给 Rails 路径

标签 javascript ruby-on-rails

有没有办法将 Javascript 变量传递到 Rails 路径?

例如,我的 html.erb 文件中有:

<script>
for (i=1, i< numSteps, i++){
   var step = i
   td.innerHTML = <%= project_step_path(@project, step) %>
}
</script>

但这不起作用,因为步骤是一个 Javascript 变量。

最佳答案

在这种情况下,Ruby 将在服务器上运行。它将生成一些文本。该文本将发送到浏览器。浏览器会将其解析为 HTML 和 JS。

您无法在单个 HTTP 请求/响应中进行双向同步通信。

所以不。

每次您想要将数据从客户端 JavaScript 发送到服务器端 Ruby 时,您都需要发出新的 HTTP 请求。

可以通过以下方式发出此类请求:

  • 设置位置
  • 提交表单
  • 使用 XMLHttpRequest 对象
  • 生成可以具有外部 src 的元素(例如脚本或图像)
  • 以及许多其他方法。

关于javascript - 将 Javascript 变量传递给 Rails 路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14403402/

相关文章:

ruby-on-rails - 如何在没有模板的情况下使用 Rails 发送邮件?

ruby-on-rails - 如何在 Capybara 和 RSpec 中测试 CSV 文件下载?

javascript - 为什么我的坦克没有出现?

javascript - 如何匹配字符串的结尾不捕获加号

javascript - 如何让 angularJS routeProvider 在路由更改之前执行操作?

javascript - CSS:当鼠标点击特定的html元素时改变背景

mysql - 获取类型为 `text` 的字段

html - 我想让一个按钮出现在这行代码上,我该怎么办?

ruby-on-rails - `length:` 没有在 PostgreSQL 的字符串列上强制执行?

javascript - 使用正则表达式匹配字符串的相同开始和结束字符