- PR -

[ASP.NET+JavaScript] クッキーコレクションをJavaScriptで保存

1
投稿者投稿内容
うきょきょ
常連さん
会議室デビュー日: 2004/01/09
投稿数: 44
投稿日時: 2006-06-08 11:16
ASP.NETというより、JavaScriptの問題なのですが、
Response.Cookiesに密接に関係するため、こちらに投稿いたします。

どぼんさん所の掲示板(どぼん!のプログラミング道掲示板)とのマルチポストです。
http://dobon.net/cgi-bin/vbbbs/cbbs.cgi?mode=al2&namber=16143&rev=&no=0

UserID = Response.Cookies("AAAAA")("UserID")
UserName = Response.Cookies("AAAAA")("UserName")
と実装されている、クッキーをJavaScriptで生成したいのですが、
クッキー名(クッキーコレクション名?)にあたる部分"AAAAA"を
どのようにコーディングすればいいのかわからないため、
アドバイス頂けないでしょうか?

よろしくお願いします。


[ メッセージ編集済み 編集者: うきょきょ 編集日時 2006-06-08 11:21 ]
todo
ぬし
会議室デビュー日: 2003/07/23
投稿数: 682
投稿日時: 2006-06-08 18:25
HTTPヘッダを覗いてみるとか。

http://www.masahiko.info/it/archives/000822.html
unibon
ぬし
会議室デビュー日: 2002/08/22
投稿数: 1532
お住まい・勤務地: 美人谷        良回答(20pt)
投稿日時: 2006-06-08 18:42
引用:

うきょきょさんの書き込み (2006-06-08 11:16) より:
UserID = Response.Cookies("AAAAA")("UserID")
UserName = Response.Cookies("AAAAA")("UserName")


実際に、それで cookie を response してみてから、ブラウザー(IE)のアドレス欄で、
コード:
javascript:document.cookie;


を入力すると、フォーマット(複数のエントリーがどうエンコードされているか)が分かります。
(アドレス欄を使わず、デバッグ用のクライアントサイドの JavaScript で cookie を表示させても同じことですけど。)

(ASP.NET ではない) ASP の時代から、このフォーマットの規定が明示的にはリファレンスマニュアルには見当たらなかったような気がします(昔のことで忘れました。気のせいかもしれません。今はどうなのかも知りませんが。)。もっともフォーマットはものすごくあたりまえのフォーマットなのでわざわざ記す必要もなさそうだとは思いますが。

--
unibon {B73D0144-CD2A-11DA-8E06-0050DA15BC86}
todo
ぬし
会議室デビュー日: 2003/07/23
投稿数: 682
投稿日時: 2006-06-08 19:10
引用:

unibonさんの書き込み (2006-06-08 18:42) より:
コード:
javascript:document.cookie;





なるほど!
ブックマークレットにすると便利。
コード:
javascript:(function(){alert(document.cookie);})();

うきょきょ
常連さん
会議室デビュー日: 2004/01/09
投稿数: 44
投稿日時: 2006-06-09 23:21
todoさん、unibonさん、返信ありがとうございます。

昨日、今日と別作業が入っていたため返信遅くなりました。
すみません。
月曜に試してみます。結果はそのときにでも・・・
うきょきょ
常連さん
会議室デビュー日: 2004/01/09
投稿数: 44
投稿日時: 2006-06-12 11:13
遅くなりました。

unibonさんのCookieに保存されている値を表示させる方法で、
フォーマットがわかったので解決できました。
ありがとうございます。

#なんでこんな簡単なことに気づかなかったんだろう^^;

一応上のサンプルコードに対応した、フォーマットを以下に記します。
AAAAA=UserID=TestID&UserName=TestUser
でした。
クッキーコレクション名の所がクッキー名で、後は&で区切って
普通にName=値で入ってました。
1

スキルアップ/キャリアアップ(JOB@IT)