0

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

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

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

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

4

2 回答 2

3

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

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

所以不行。

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

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

  • 环境location
  • 提交表格
  • 使用 XMLHttpRequest 对象
  • 生成可以具有外部src
  • 和许多其他方法。
于 2013-01-18T16:39:57.423 回答
2
  • JavaScript 在浏览器上运行
  • Rails 在服务器上运行。

他们不能一起跑。

于 2013-01-18T16:39:19.417 回答