(Примечание: см. Также связанный вопрос Могут ли браузеры реагировать на Set-Cookie, указанный в заголовках в запросе XSS jquery.getJSON ()? )
Я не могу установить cookie (имя которого mwLastWriteTime ) в заголовке запроса операции JSON.Сам запрос является простым из учебников по Freebase MQL, и в противном случае он работает нормально:
// 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
Я надеялся, что смогу установить этот файл cookie с чем-то вроде:
$.cookie('mwLastWriteTime', value, {domain: ".sandbox-freebase.com"});
К сожалению, глядя в FireBug на заголовок исходящего запроса, я вижу только:
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 [...]
Но если я не укажу домен (или если я явно укажу домен запрашивающего сайта)Я могу заставить mwLastWriteTime
отображаться в заголовках для локальных запросов.Поскольку домен .sandbox-freebase.com
владеет этими файлами cookie, разве они не должны путешествовать вместе с GET?Или нужен какой-то обходной путь?
Мой код весь JavaScript, и я хотел бы установить этот cookie, а затем сразу же вызвать getJSON.