2011-06-20 19 views
0

私は何かの周りに私の脳をラッピングする問題があります。jquery ajax - これはどのように関連して動作しますか?

ブラウザウィンドウでURLを手動で開くと、そのURLのCookieが使用されます。しかし、jquery ajaxの機能を使って同じURL(たとえローカルのHTML \ javascriptファイルからでも)をリクエストすると、同じCookieは使用されません。

私がしようとしていることは可能ですか?なぜ、なぜそうではないのですか?

+0

あなたは見たことがありますか:http://stackoverflow.com/search?q=ajax+cookies? –

+0

なぜそれが欲しいですか? Cookieを無視するようにサーバースクリプトに指示するURLパラメータを送信できます。ブラウザがCookieを送信すると、ajaxクエリを送信して後で復元することができます(https://developer.mozilla.org/En/Document.cookie)。しかし、私はそれがまあまあだと思う。 – hakre

+0

@Felix、私はちょうど、なぜこれがどのように働く(またはしない)の一般的な説明を探しています。そこにある312の質問のうち、ほとんどは質問の特定のインスタンスのように見えます - 一般的な概要ではありません。 – javamonkey79

答えて

1

ほとんどの場合、ドメイン間の制限です。私がdomain.comから提供されるスクリプトを持っていれば、それはAJAXリクエストをdomain.comにしか作成できません。 「another-domain.com」へのリクエストをしようとすると、ブラウザはリクエストとともにCookieを送信しません。その結果が用意できたら、その結果をスクリプトに渡しません。

ローカルファイルについても同様です。ローカルファイルからのスクリプトは、どのドメインにも正常に要求を送信できません。

1

私の経験から、ajaxリクエストが同じドメインから来ている限り、urlを手動で入力する場合に使用されるものと同じクッキーがajaxコール中に使用されています。要求が同じドメインからのものでなければ、クッキーはクロスドメインサンドボックスの問題として使用されません。

関連する問題