(Note: Voir aussi la question connexe Can browsers react to Set-Cookie specified in headers in an XSS jquery.getJSON() request?)Est-ce que jQuery.getJSON peut mettre les cookies d'un domaine dans l'en-tête de la requête qu'il fait?
Je ne peux pas sembler mettre un cookie (dont le nom est mwLastWriteTime) dans l'en-tête de demande d'une opération de JSON. La demande elle-même est simple des tutoriels Freebase MQL, et il fonctionne bien autrement:
// Invoke mqlread and call the function below when it is done.
// Adding callback=? to the URL makes jQuery do JSONP instead of XHR.
jQuery.getJSON("http://api.sandbox-freebase.com/api/service/mqlread?callback=?",
{query: JSON.stringify(envelope)}, // URL parameters
displayResults); // Callback function
je l'avais espéré que je pourrais mettre ce cookie avec quelque chose le long des lignes de:
$.cookie('mwLastWriteTime', value, {domain: ".sandbox-freebase.com"});
Malheureusement, la recherche dans Firebug l'en-tête de requête sortante Je ne vois que:
Host api.sandbox-freebase.com
User-Agent [...]
Accept */*
Accept-Language en-us,en;q=0.5
Accept-Encoding gzip,deflate
Accept-Charset ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive 115
Connection keep-alive
Referer [...]
Mais si je ne précise pas le domaine (ou si je spécifie explicitement le domaine du site demandeur) Je peux obtenir mwLastWriteTime
pour apparaître dans les en-têtes pour les demandes locales. Puisque le domaine .sandbox-freebase.com
est propriétaire de ces cookies, ne devrait-il pas voyager avec le GET? Ou a-t-on besoin d'une solution de contournement de quelque sorte?
Mon code est tout JavaScript, et je voudrais mettre ce cookie, puis appeler le getJSON immédiatement après.
La réponse du serveur, cependant, peut certainement définir un cookie. OMI, c'est juste quelque chose qui ne devrait pas être fait dans js, de toute façon. – zanlok
Je me demande pourquoi il y a tellement de documents API qui ne mentionnent pas cela, et disent des choses comme "Utilisation de l'objet options, les cookies peuvent être définis avec plusieurs options telles que le domaine et/ou le chemin pour lequel le cookie devrait être disponible. date du cookie, et si le cookie doit être envoyé via HTTPS uniquement. "! http://code.google.com/p/cookies/wiki/Documentation – HostileFork
@Hostile Fork - Parfois, c'est parce que l'auteur a pris connaissance des limites de XSS, et parfois, c'est parce que l'auteur ne sait pas. Je parierais le premier dans ce cas. –