有没有办法将 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/