通过Ajax发送数据并在动作控制器上处理它们

时间:2011-05-09 11:08:52

标签: jquery ajax ruby-on-rails-3

我正在尝试通过Ajax发送一些地理位置数据,并在控制器的特定操作上处理它们。

代码(在视图中)看起来像:

$.ajax({
        type: "GET",
        url: "/save_location",
        data: "lat=" + position.coords.latitude + "&long=" +  
            position.coords.longitude
});

我有一个save_location操作位于users controller

 def save_temp_location
    cookies[:lat] = params[:lat]
    cookies[:long] = params[:long]
 end

我想在用户浏览网站时临时保存这些数据。在我的视图中,我试图显示cookies[:lat]cookies[:long]的值以检查它是否有效:不幸的是,没有显示任何内容。我看着控制台发出了GET请求(路线是正确的):

Started GET "/save_location?lat=48.856666&long=2.350987" for 127.0.0.1 at 2011-05-09 12:02:25 +0100
  Processing by UsersController#save_temp_location as 
  Parameters: {"lat"=>"48.856666", "long"=>"2.350987"}
Redirected to http://fr.localhost.dev:3000/
Completed 302 Found in 1ms

我尝试通过在该操作中放置:puts "foo"raise "foo"但没有任何反应(但是在手动浏览到/ save_location时我确实得到了相应的行为)。 302 http code是否与此有关? (在这种情况下它意味着什么?)。

你认为有什么不对?我错过了一个非常重要的观点吗?

谢谢!

1 个答案:

答案 0 :(得分:1)

您是不是被过滤器重定向了?