1
我通過navigator.geolocation獲取用戶位置。我需要的是在我的控制器中使用用戶地理位置按距離排序。如何從控制器獲取navigator.geolocation?是否有爲每個用戶的這種JavaScript對象的全球存儲?Rails,js變量的全局存儲
我通過navigator.geolocation獲取用戶位置。我需要的是在我的控制器中使用用戶地理位置按距離排序。如何從控制器獲取navigator.geolocation?是否有爲每個用戶的這種JavaScript對象的全球存儲?Rails,js變量的全局存儲
您應該通過POST/COOKIE將javascript的地理位置發送給rails。
jQuery的
$(function(){
navigator.geolocation.getCurrentPosition(function(pos){
$.post('/set_geolocation',{latitude: pos.coords.latitude, longitude: pos.coords.longitude})
});
});
Rails的
# routes.rb
...
post '/set_geolocation' => 'users#set_geolocation'
...
# users_controller.rb
class UsersController < ApplicationController
def set_geolocation
session[:location] = {:latitude=> params[:latitude], :longitude=> params[:longitude]}
end
end
或者
jQuery的
$(function(){
navigator.geolocation.getCurrentPosition(function(pos){
document.cookie = document.cookie + '; latitude=pos.coords.latitude; longitude=pos.coords.longitude'
});
});
Rails的
#某處控制器 ...餅乾[:緯度] ...