4
是否有可能將用戶的cookie或會話存儲在控制器中並通過從JS或Jquery訪問cookie來獲取cookie?Rails - 在控制器中存儲cookie並從Javascript獲取,Jquery
是否有可能將用戶的cookie或會話存儲在控制器中並通過從JS或Jquery訪問cookie來獲取cookie?Rails - 在控制器中存儲cookie並從Javascript獲取,Jquery
會話值在服務器上可用。
您可以將它們像這樣in your controller:
session[:user_name] = @user.name
如果你想稍後訪問的JavaScript值,你可能會想要做這樣的事情在一個觀點:
<%= javascript_tag do %>
var userName = '<%= session[:user_name %>';
<% end %>
Cookie由瀏覽器管理,因此訪問方式不同。
要設定一個在你的控制器:
cookies[:user_name] = @user.name
(你也可以指定路徑,過期等爲cookie using options)
它然後可以使用訪問jQuery的:
var userName = jQuery.cookie("user_name");
注意:你也可以用access the cookie using pure javascript(不是jQuery)解析document.cookie
,但它是很多更容易讓jQuery爲你做(如果你已經在使用該庫)。
當我這樣做,我得到$ .cookie不是一個函數。我應該包括除jQuery以外的任何Js嗎?我使用jquery.min.1.9.1 – 2013-03-12 05:18:49
@Srikanth:嘗試使用它沒有路徑哈希(我已更新該行)在響應中。 – 2013-03-12 14:01:57
另外,根據你已經加載的其他JS庫,你應該用「jQuery」替換你所有的「$」調用。 (有些庫 - 「原型」特別使用「$」命名空間。有關更多信息,請參閱http://stackoverflow.com/questions/6746352/replace-dollar-sign-with-jquery) – 2013-03-12 14:03:00