Сессия, сохраняющая устаревшие значения при использовании Angular $ http.post? - PullRequest
0 голосов
/ 26 декабря 2018

Из того, что я видел в своем приложении, если мой контроллер использует запрос AngularJs $ http.get, я не могу обновить данные сеанса в контроллере, который обрабатывает этот запрос, потому что ответ типа рендеринга: json => тип данныхне обновляет файл cookie сеанса на клиенте.Я не уверен, что это действительно так, но то, что, похоже, происходит.

Если это правда, хотя мне кажется, что я использую devise, например, и инициализирую переменную сеанса, например, session [: foo] = "bar" в сеансе # create, а затем я получаю угловоймодуль, который выполняет $ http.get, который обрабатывается, скажем, учетной записью # my_method, следующим образом

def my_method
      session[:foo]="baz"
      [do something]
      render :json => {status: "OK"}
end

изменение сеанса [: foo] не будет сохранено в файле cookie сеанса пользователя, таким образом, следующеевремя, когда пользователь нажимает на сеанс контроллера [: foo], все равно будет равняться «bar», а не «baz».

Это кажется маловероятным, но это похоже на то, что я вижу, когда я отлаживаю свое приложение.Если это так, будет ли лучше работать база данных или хранилище сессий memcache, поскольку изменение произойдет на стороне сервера и не потребует обновления файла cookie на стороне клиента?Или есть способ обработки обновлений сеанса при использовании методов типа Ajax, таких как $ http.get в AngularJs

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...