【发布时间】:2011-05-12 23:17:12
【问题描述】:
我有一项允许将调查嵌入页面的服务。此调查从托管在任何地方的页面对我的服务器进行跨域 ajax 调用。
该服务在 rails 3 上运行。我正在尝试存储会话中回答的最后一个问题的索引。 ActiveRecord 存储处于活动状态。该服务托管在 heroku 上。我已经迁移了会话表并对其进行了倾斜。
但是值没有保存在会话中。这是一个我无法解决的问题,还是可以让会话以这种方式工作?
以下是问题的说明:
Rails.logger.info { "session current stage is #{session[:current_stage]}" }
session[:current_stage] = params[:current_stage].to_i
session[:current_stage] ||= 0
Rails.logger.info { "session current stage is #{session[:current_stage]}" }
输出如下所示:
session current stage is 0
session current stage is 1
下次运行(会话值为 1 之后):
session current stage is 0
session current stage is 2
还是只是我的会话不能正常工作,不考虑跨域问题?
只是一个快速的补充:似乎每次点击服务器时都会创建一个唯一的会话,并且下次不会检索。它将每次通话都视为一个新的、前所未有的事件。我认为这是我所从事的跨领域的副产品。有什么解决办法吗?
【问题讨论】:
-
你使用什么样的会话?曲奇饼 ?主动记录?其他?
-
您是如何尝试进行跨域 ajax 调用的?由于默认情况下在每个主要浏览器中都禁用此功能,您正在尝试以这种方式发出请求吗?
-
您正在测试的浏览器中是否启用了第三方 cookie?
标签: jquery ruby-on-rails session jsonp