- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:書き込んだばかりのcookieが読み込めません)
cookieの読み込みができない問題の解決方法
このQ&Aのポイント
- cookieを書込んだ直後に読み込めない問題について解説します。
- cookieを書込んだ後、同じcgi内で即座に読み込むと読み込めません。
- 解決策として、書込後にタイムラグを作ることが有効です。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
cookieをprintしたあとにスリープして待ってるでしょ。 ブラウザはHTTPリクエストを投げるとき、以下のような文字列を投げる。ようするに、「開いた」ときにcookieを投げる POST /xxxx.cgi HTTP/1.1 Cookie: hoge="fuga"; ... ダイナミックにセット/ゲットしたけりゃ、javascriptでcookie読み書きして、AjaxでCGIと通信するしかない。
その他の回答 (2)
- _--_1l1_1_
- ベストアンサー率67% (102/152)
回答No.2
ていうか、cookieはページを「開いた」ときにブラウザが投げるものだし。CGIでprintしたあと、いくらスリープしても、そりゃとれない
質問者
お礼
>CGIでprintしたあと、いくらスリープしても スリープはprint前ですが。 >cookieはページを「開いた」ときにブラウザが投げるもの ということは、cgiでcookieを書込み、その後にブラウザをリロードやページ移動なしに一連のプログラムの中でcookieを取ろうとしてもできないということなのでしょうか? もしそうであれば、cookieが書き込めたか同一のプログラム内でチェックする方法はないのでしょうか?
- _--_1l1_1_
- ベストアンサー率67% (102/152)
回答No.1
よくわからず。 > 最初にcookieを書込んだ時に同じcgi内で即読込みを行ったら読込めません 上の一文だけ読むと、そもそも、CGIからブラウザにレスポンスを返していないので、ブラウザがcookieを保存していない。cookieが読めないのは当たり前?
質問者
お礼
ありがとうございます。 >ブラウザがcookieを保存していない cookieの保存状態を随時確認しながら試してますが、cookieは保存されています
お礼
ありがとうございます > 「開いた」ときにcookieを投げる ですか。 > AjaxでCGIと通信するしかない ブラウザで完結する方法はないみたいですね。 このcgiではなく他のアプローチを探してみます