我正在尝试通过Ajax发送一些地理位置数据,并在控制器的特定操作上处理它们。
代码(在视图中)如下所示:
$.ajax({
type: "GET",
url: "/save_location",
data: "lat=" + position.coords.latitude + "&long=" +
position.coords.longitude
});
我有一个位于users controller
save_location
操作:
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
我尝试通过在该操作中放置 a: puts "foo"
或 raise "foo"
进行调试,但没有任何反应(但是我在手动浏览到/save_location 时确实得到了适当的行为)。302 http code
,与此有关吗?(在这种情况下这意味着什么?
你认为有什么问题?我错过了一个非常重要的点吗?
谢谢!
你不是被过滤器重定向了吗?