(注: 関連する質問Can browsers react to Set-Cookie specified in headers in an XSS jquery.getJSON() request?も参照してください。 )
JSON 操作の要求ヘッダーにCookie (名前はmwLastWriteTime )を設定できないようです。リクエスト自体は、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
、ローカル リクエストのヘッダーに表示される可能性があります。ドメインがこれらの Cookie を所有しているので.sandbox-freebase.com
、GET と一緒に移動するべきではありませんか? それとも何らかの回避策が必要ですか?
私のコードはすべて JavaScript です。この Cookie を設定し、その後すぐに getJSON を呼び出したいと考えています。