Je veux savoir si, lorsque je fais un $.post(...) avec jQuery, Un cookie est-il envoyé au serveur dans la requête post ?
Gracias.
Je veux savoir si, lorsque je fais un $.post(...) avec jQuery, Un cookie est-il envoyé au serveur dans la requête post ?
Gracias.
Les cookies sont envoyés avec les demandes Ajax.
Lorsque le HTTPOnly est activé pour un cookie, ce cookie est caché des scripts côté client, mais le cookie est toujours envoyé avec les demandes Ajax.
Désolé d'être un rabat-joie, mais je vais contredire les vibrations positives ici et dire NON.
Je construis actuellement une application qui utilise $.post pour se connecter à mon API backend, qui est alimentée par Express y node.js . J'utilise le middleware Express cookie parser pour lire les cookies envoyés dans chaque requête. Si j'accède à mon point de terminaison directement via le navigateur, le serveur dorsal peut voir les cookies visibles sur mon domaine. Cependant, lorsque j'utilise $.post dans mon application, l'objet cookie est simplement vide.
Il est possible que quelque chose m'échappe, mais j'ai testé cela pendant les deux dernières heures et la conclusion à laquelle je suis arrivé est que les cookies ne sont tout simplement pas envoyés en utilisant une requête jQuery $.post :/.
Une chose à prendre en compte est le chemin des cookies. Si un script chargé par ajax définit un cookie, son chemin peut être différent de celui de la page parent, ce qui le place dans une portée différente pour certaines applications serveur ou JQuery. J'ai passé un moment aujourd'hui à tourner en rond sur ce sujet puis j'ai remarqué que les cookies que j'avais du mal à lire avaient un chemin différent défini.
La solution simple pour moi était de définir le chemin de tous les cookies à / avec jquery dans ma demande ajax comme suit :
$.cookie("isolates_grid_tgl", "true", { path: "/" });
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.