7
votes

Set cookie sans rafraîchir la page

Je montre une superposition de jQuery lorsque les utilisateurs visitent d'abord une page particulière

Ils ont un bouton radio dans la superposition qu'ils peuvent cliquer pour dire qu'ils ne souhaitent pas voir la notification à nouveau

Je veux définir un cookie que l'utilisateur ne veut pas voir la superposition à nouveau

est-il possible de définir le cookie sans rafraîchir la page?

J'allais faire un rappel AJAX sur le serveur, puis définir le cookie dans les en-têtes de réponse, mais je suppose qu'ils ne seront pas définis dans une demande / réponse Ajax?

est-il sûr / ok de définir le cookie purement de JavaScript? Ou est-ce une mauvaise idée?

Toute autre option?


0 commentaires

4 Réponses :


0
votes

Vous pouvez utiliser JQuery Cookie Plugin .

Un exemple: < Pré> xxx


0 commentaires

0
votes

Vous pouvez aussi obtenir / définir le cookie dans un vieil javascript simple: créer et stocker un cookie


1 commentaires

Bien sûr - j'apprécie ça. Je n'étais tout simplement pas sûr à quel point une idée était bonne. J'ai généralement défini des cookies du code côté serveur et je suis un peu incertain de savoir si JavaScript est une solution solide.



1
votes

Il n'y a aucune raison pour qu'un appel Ajax ne puisse pas créer de cookie. Il s'agit essentiellement d'une demande HTTP.

Demandes AJAX Obtenez et définissez des cookies comme toute autre demande HTTP


0 commentaires

0
votes

Utilisez ceci: Ceci doit recharger la page.

setcookie($data,$item_data, time()+ (3600));
echo "<script>location.href='index.php'</script>;


0 commentaires