我想做类似的事情如何将 Javascript 变量传递给 Rails 控制器? https://stackoverflow.com/questions/2592109/how-to-pass-a-javascript-variable-to-rails-controller但我似乎无法让它达到我的目的。我使用拖放 jQuery 将“items”传输到“pods”。这是我的代码:
function onReceive(id,pod_id){
var id = id;
var pod_id = pod_id;
confirm("Add " +id + " to " + pod_id + "?");
}
我想做的实际上是这样的:
function onReceive(id,pod_id){
<% @pod_id = pod_id %>
<% @id = id %>
}
但我知道解决方案并不那么容易。如何将 id 和 pod_id 传递给我的控制器?理想情况下,我想将其传递给更新操作。 P.S.:我根本不了解 AJAX,所以如果这是唯一的方法,请提供详细信息......
将数据从浏览器客户端传递到 Rails 应用程序的唯一方法是通过 HTTP。要在 JavaScript 中执行 HTTP,您可以使用 XHR(也称为 AJAX)。您无法按照代码示例中的建议在模板中执行此操作,因为模板是由服务器上的 Rails 呈现的,并在客户端上评估为 HTML 和 JavaScript。客户端/浏览器和服务器之间没有内联通信。
假设 jQuery:
function onReceive(id,pod_id){
$.ajax({
url: "/some/url",
data: {pod_id: pod_id, id: id}
});
}
然后你需要设置一个控制器来响应 /some/url,并执行你需要执行的任何操作params[:pod_id]
and params[:id]
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)