2

我在使用 ajax 和带有 Rails 的 cookie 时遇到问题。我目前的设置如下:

我在 domainfoo.com 有一个应用程序设置,这是一个 Rails 应用程序,在 domainbar.com 有一个静态网页设置,我想通过 ajax 与 domainfoo.com 通信。

domainfoo.com 应用程序设置如下:

应用程序.rb

    before_filter :allow_cross_domain_access
    def allow_cross_domain_access
      response.headers["Access-Control-Allow-Origin"] = "*"
      response.headers["Access-Control-Allow-Methods"] = "*"
    end

和应用程序的主要部分(check_controller.rb):

    class CheckController < ApplicationController
      if cookies[:test]
        puts "cookie value: #{cookies[:test]}"
      else
        cookies[:test] = { :value => '123',
                           :domain => :all,
                           :path => "/check"
                          }
      end
     end

路由http://examplefoo.com/check映射到该控制器。在 domainbar.com 的静态页面上,我只有一个简单的 jQuery ajax GET 请求,如下所示:

    $(document).ready(function(){
      $.get('http://domainfoo.com/check', function(data) {
        console.log(data);
      });
    });

当我在 chrome 中查看网络流量时,我可以看到来自服务器的 cookie,它在浏览器中设置,但是当我再次发出 ajax 请求时,cookie 永远不会被发送回服务器。我确定有些东西我忽略了,但我不确定它是什么。

4

0 回答 0