2

Railsでのajaxとcookieに問題があります。私の現在の設定は次のとおりです。

Rails アプリケーションである domainfoo.com に 1 つのアプリケーションをセットアップし、domainbar.com に ajax を介して domainfoo.com と通信する静的 Web ページをセットアップします。

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