Is it possible to store a User's Cookie or Session in Controller and Get the cookie by accessing it from JS or Jquery?
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
回答1:
Session values are available on the server.
You can set them like this in your controller:
session[:user_name] = @user.name
If you want to access that value later in javascript, you'll probably want to do something like this in a view:
<%= javascript_tag do %>
var userName = '<%= session[:user_name %>';
<% end %>
Cookies are managed by the browser, so accessed differently.
To set one in your controller:
cookies[:user_name] = @user.name
(You can also specify the path, expiration, etc. for the cookie using options.)
It can then be accessed using jQuery:
var userName = jQuery.cookie("user_name");
Note: you can also access the cookie using pure javascript (not jQuery) by parsing document.cookie
, but it is much easier to let jQuery do it for you (if you're already using that library).