セットアップは、JSON API として機能するように Rails アプリを 1 つセットアップし、API を呼び出すために使用する別の静的 HTML ページを用意しました。議論のために、Rails API は foo.com にあり、静的な html ページは bar.com にあります。
foo.com アプリでは、次のようなものがあります。
if !cookies[:foo]
cookies[:foo] = "testing #{rand(500)}"
else
logger.info(cookies[:foo])
render :json => { :cookie => cookies[:foo] }
bar.com から jquery を使用して ajax GET リクエストを実行しようとすると、Cookie が JSON API に送り返されません。
$.get('http://foo.com/', function(data){console.log(data)})
しかし、ページにリソースをロードすると、cookie を取得して foo.com と bar.com の間を行き来させることができます。
<script type="text/javascript" src="http://foo.com"></script>
単純な ajax リクエストを実行するときではなく、スクリプトをスクリプト リソースとしてロードするときに、クロスドメイン間で Cookie をやり取りできる理由を知っている人はいますか? これを回避する方法はありますか?