のページには、anotherdomain.com
のURLにJSONP ajaxリクエスト(jQueryの.getJSON()
関数を使用)を作成しています。私はanotherdomain.com
のリソースは、そのドメインに設定されているすべてのクッキーにサーバー側のアクセス権を持っていると思った(読んだ:仮定)が、それはそうではないようですか?JSONPを使用したクッキーアクセス
特定のCookieにアクセスし、データ操作を行い、Cookie値でキー入力された豊富な情報を返すために、ajax呼び出しが具体的に行われています。元のドメインはCookie値に直接アクセスできないため、私はAjaxリクエストが必要な状態を維持すると考えました。
私が見落としているクッキーに関する重要な情報はどれですか?私は疲れていて、私はそれを見ていないだけです。
ありがとうございました。
UPDATE
私はそれを行うための方法を見つけたが、それは私の目にJSONPのように見えるので、Ajaxのバージョンにはないながら、このように動作しますなぜ私は思ったんだけど。リクエストはブラウザセッションから切断されているため、クッキーにアクセスできませんか?すべてのAjaxリクエストに
<script type="application/x-javascript" src="<?php echo $service_url . '&callback=interests' ?>"></script>
<script type="text/javascript">
function interests(data) {
$(function() {
var c_behaviors = data.length;
var ids = [];
for(var i = 0; i < c_behaviors; i++) {
ids.push(data[i].behavior_id);
}
$('body').append('<p><label>Returned:</label> ' + ids.join(', ') + '</p>');
});
}
</script>
これを3倍にした可能性がありますが、cookieがanotherdomain.comによって設定されていることを確認してください。また、期限切れ、パスなど、設定されているクッキーの状態は何ですか。 –
うん。 Ajaxコールの前にターゲットURLに警告してから、新しいタブにターゲットURLをロードすると、私は期待しているものを得ることができます。 Ajaxの呼び出しは、私が思っていた以上にブラウザセッションから切り離されているようです。 –
"json"というタイプの$ .ajax呼び出しを試して、どのような結果が得られたかを見てください。あなたのJSONPアプローチはhttp://stackoverflow.com/questions/1421245/make-getjson-in-jquery-to-pass-cookies-to-external-domainに文書化されており、他の誰かのためにも働いていました –