web-dev-qa-db-fra.com

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!

35
ramayac

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 demandes Ajax.

55
Ayman Hourieh

L'utilisation des mêmes cookies sur le client et sur le serveur n'est pas possible si httpOnlyCookies est activé. Il y a une très bonne raison d'activer ceci aussi:

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

2
Chris Simpson

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

2
MSpreij

Désolé d'être une couverture mouillée, mais je vais contredire les ondes positives et dire NON.

Je suis en train de créer une application utilisant $ .post pour me connecter à mon backend d'API, qui est alimenté par Express et node.js . J'utilise le middleware d'analyse des cookies Express pour lire les cookies envoyés dans chaque demande. Si je frappe mon terminal 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 tout simplement vide.

Il est possible que quelque chose me manque, mais cela fait deux heures que je teste cette solution et la conclusion à laquelle je suis arrivé est que les cookies ne sont tout simplement pas envoyés à l'aide d'une demande jQuery $ .post: /

0
briznad

Une chose à considérer est le chemin du cookie. 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. Aujourd'hui, j'ai passé un moment à faire tourner mes roues là-dessus, puis j'ai remarqué que les cookies que j'avais du mal à lire avaient un chemin différent. 

La solution simple pour moi était de définir le chemin de tous les cookies sur/avec jQuery dans ma demande ajax comme suit:

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

firebug cookies view

0
glyph