0

我需要将通过 jquery 从客户端捕获的变量传递给控制器​​,以便它可以在服务器端使用。谷歌搜索了一下,我发现我们可以通过 Ajax 调用传递它。

路线.rb

get "mymethod?Id=", :to => "sample#mymethod"

j1.js

$(function(){

var test = 1;

$(.btn).click(function(){

  $.ajax({
           url: '/mymethod?Id='+ test,
           success: function(data) {
                 }
         });
    });

});

sample_controller.rb

def mymethod
 session[:Id] = params["Id"];
end

当我尝试使用 session[:Id] 时,它总是为零。

有任何想法吗,

谢谢

4

1 回答 1

2

如果你想在 jquery 中发出 GET 请求,你最好这样做:

$.ajax({
    url: '/mymethod',
    success: function(data){ // anything },
    data: { Id: test }
});

因为它会为您正确地对参数进行 urlencode 和格式化。

在 Rails 中,删除对 Id 的引用,routes.rb然后使用params控制器中的字典来访问变量 Id(此处的信息:http ://rails.nuvvo.com/lesson/6371-action-controller-parameters )

于 2012-06-26T16:10:59.827 回答