#jquery #ajax #ruby-on-rails-3
#jquery #ajax #ruby-on-rails-3
Вопрос:
Я пытаюсь отправить некоторые данные о геолокации через Ajax и обработать их при определенном действии контроллера.
Код (который находится в представлении) выглядит следующим образом:
$.ajax({
type: "GET",
url: "/save_location",
data: "lat=" position.coords.latitude "amp;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.856666amp;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. Является ли код состояния 302 (и, следовательно, перенаправление) преднамеренным? Не могли бы вы отключить это и попробовать вызов ajax еще раз…
Ответ №1:
Разве фильтр не перенаправляет вас?