1

なぜこれが起こっているのかわかりませんし、何か間違ったことをしているのかどうかもわかりませんが、ASP クラシック ページに次のコードがあります。

Response.Cookies("msg") = "Welcome"
Response.Write(request.Cookies("msg"))

また、ブラウザで Cookie が無効になっているにもかかわらず、ページにメッセージが表示されています。たとえば Chrome では、「Cookie がブロックされました」というアイコンが表示されます。[設定] > [すべての Cookie とサイト データ] で、現在のサイトの Cookie はありません。また、Chrome がデータを保存するハード ドライブの「ローカル ストレージ」フォルダも確認しました。

Cookie の証拠がない場合、ページはどのようにメッセージを表示できますか?

4

1 に答える 1

0

なぜこれが起こるのかという答えはより単純で、ASP の内部にあります。あまり直感的ではありませんが、上記のコードで何が起こるかは、次の場合です。

Response.Cookies("msg") = "Welcome";

この Cookie は、このリクエストのコンテキストで利用できますが、ブラウザーは決して保存しません。

したがって、Response.Write を実行すると、ブラウザから取得した Cookie ではなく、設定した Cookie が表示されます。

つまり、実際にはブラウザに Cookie を設定していません。

于 2012-11-14T13:44:37.967 に答える