28 votes

JQuery envoie-t-il des cookies dans un message?

Je veux savoir si, lorsque je crée un $ .post (...) avec jQuery, un cookie est-il envoyé au serveur dans la demande de publication?

Merci!

43voto

Ayman Hourieh Points 39435

Les cookies sont envoyés avec les demandes Ajax.

Lorsque l'indicateur HTTPOnly est défini pour un cookie, ce cookie est masqué des scripts côté client, mais le cookie est toujours envoyé avec des requêtes Ajax.

2voto

Chris Simpson Points 3894

L'utilisation des mêmes cookies sur le client et le serveur n'est pas possible lorsque vous avez activé httpOnlyCookies. Il y a de très bonnes raisons de l'activer aussi:

http://www.codinghorror.com/blog/archives/001167.html

1voto

MSpreij Points 658

En utilisant Firefox + Firebug, vous pouvez voir exactement ce que jQuery envoie et comment. Utile pour le débogage!

1voto

briznad Points 414

Désolé de jouer les trouble-fête, mais je vais contredire les vibrations positives ici et de dire NON.

Je suis actuellement à la construction d'une application à l'aide de $.post pour vous connecter à mon API backend, qui est alimenté par l' Express et node.js. Je suis à l'aide de l'Express cookie analyseur de middleware pour lire les cookies envoyés avec chaque demande. Si j'ai touché mon point de terminaison directement via le navigateur, le serveur d'arrière-plan peuvent voir les cookies visible sur mon domaine. Cependant, lorsque j'utilise $.post dans mon application le cookie objet est vide.

Il est possible que je me manque quelque chose mais je l'ai testé ce pour les deux dernières heures et la conclusion, je suis venu pour que les cookies ne sont tout simplement pas envoyé à l'aide de jQuery $.requête post :/

0voto

glyph Points 438

Une chose à considérer est le chemin du cookie. Si l'ajax script chargé définit un cookie alors son chemin peut être différent de la page parent, de le mettre dans un autre champ pour des applications serveur ou JQuery. J'ai passé un certain temps aujourd'hui de tourner mes roues sur cette remarque alors les cookies que j'ai eu de la difficulté à lire avait un autre chemin.

Solution Simple pour moi a été de définir le chemin d'accès de tous les cookies à / avec jquery dans ma requête ajax comme suit:

 $.cookie("isolates_grid_tgl", "true", { path: "/" });

firebug cookies view

Prograide.com

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.

Powered by: