1

JSONおよびAjaxベースのWebアプリケーション内でブラウザーCookieを設定するための受け入れられた方法を探しています。

ブラウザは、JSONリクエストに対してサーバーからのCookieを受け入れないようです。これは私が見ることができる2つのオプションを私に残します:

  1. Cookieを使用する必要のある操作を行う場合は、JSONリクエストを使用せず、テキストがクライアントに到達した後にJSONを評価します。JSON.parse()
  2. サーバーからクライアントにJSONを介してCookie情報を送信し、サーバーヘッドを介さずに、ブラウザーを使用してCookieを設定します。これは、ブラウザがAJAX JSONリクエストを介してCookie情報を送信しないため、Cookie情報をクライアントで読み取り、JSONを介してサーバーに返送する必要があることも意味しますか?

私の傾向はオプション#1を選択することですが、これらはどちらもかなりくだらないオプションのようです。ここで何かが足りませんか?

ありがとう!

4

1 に答える 1

1

Domainプロパティが現在のドメインと一致する場合にのみ、Cookieが送信されます。

たとえば、ドメイン「.domain.com」でクッキーを設定します。domain.comまたはサブドメインに対して行われたすべてのリクエストには、Cookieが含まれますが、それだけです。

他のドメインへのリクエストには、coockie set serversideが必要です。または、ユーザーがそのドメインのCookieを設定するページを操作する場合も必要です。

頭に浮かんだCookieを設定する2つの簡単な方法は次のとおりです。

  1. 明らかに、Cookieを設定するためにスクリプトにajax呼び出しを行います
  2. このようなことをします:

HTML:

<script type="text/javascript" src="http://domain2.com/cookie_login_page.php?username=johnsmith&hash=1614aasdfgh213g"></script>

PHP:

<?php
    // ... setCookie stuff
    echo 'var cookie_set = true;';
?>
于 2012-08-31T21:41:01.493 に答える