2012-11-09 1 views
1

Je ne sais pas pourquoi cela se produit et je ne suis pas sûr si je fais quelque chose de mal, mais j'ai ce code sur une page ASP classique:Capable de définir et d'obtenir des données de cookie malgré le blocage au niveau du navigateur

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

Et la page affiche le message même si les cookies sont désactivés par le navigateur. Dans Chrome par exemple, une icône indiquant que "Cookie a été prévenu" apparaît. Dans "Paramètres> Tous les cookies et les données du site", il n'y a pas de cookie pour le site actuel. J'ai également vérifié le dossier "Local Storage" sur mon disque dur où Chrome stocke les données.

Comment la page est-elle capable d'afficher le message s'il n'y a pas de preuve de cookie?

+0

J'ai aussi essayé. Je travaille pour d'autres pages. Si vous demandez un cookie sur les autres pages, il n'y aura pas de données. mais la page où vous attribuez le cookie donne un résultat "bienvenu". Donc j'attends toujours le résultat – polin

Répondre

0

La réponse de pourquoi cela se produit est plus simple et réside dans les internes d'ASP. Ce n'est pas vraiment intuitif, mais ce qui se passe dans le code ci-dessus est que lorsque vous faites:

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

Ce cookie sera à votre disposition dans le cadre de cette demande, mais le navigateur ne sauvera. Donc, lorsque vous faites le Response.Write ce que vous voyez n'est pas le cookie qui vient du navigateur, mais celui que vous venez de définir. En d'autres termes, vous n'êtes pas vraiment en train de configurer un cookie dans le navigateur.

Questions connexes