Я динамически создавая IFRAME с формой на нем и представивший эту форму так:Невозможно добавить печенья через IFRAME
var iframe = $("<iframe id='download_iframe' style='display: none' src='about:blank'></iframe>");
//...building that form...
form.appendTo(iframe.contents().find('body')).submit();
в URL, где этот запрос идет я генерация файла и настройки печенья подобных :
HttpResponseMessage response = new HttpResponseMessage(HttpStatusCode.OK);
//...setting content type, disposition and etc...
response.Headers.AddCookies(new[]
{
new CookieHeaderValue("ajaxFileDownload", "true")
{
Expires = DateTimeOffset.Now.AddDays(1),
Domain = Request.RequestUri.Host,
Path = "/",
HttpOnly = false
}
});
Так что я бы ожидать, что набор печенья после начала файла downlod и я могу видеть Set-Cookie
в заголовках:
Cache-Control:private
Content-Disposition:attachment; filename=engagement_list_28-10-2014.pdf
Content-Length:60027
Content-Type:application/pdf
Date:Tue, 28 Oct 2014 16:12:09 GMT
Expires:-1
Pragma:no-cache
Server:Microsoft-IIS/7.5
Set-Cookie:ajaxFileDownload=true; expires=Wed, 29 Oct 2014 16:59:35 GMT; domain=localhost; path=/
X-AspNet-Version:4.0.30319
X-MiniProfiler-Ids:["a8e9bef2-d31e-4f41-8896-9222d880544f"]
X-Powered-By:ASP.NET
X-Powered-By:ARR/2.5
X-Powered-By:ASP.NET
Но document.cookie
и $("#download_iframe").contents()[0].cookie
пустые Я даже не вижу этого файла cookie в ресурсах браузера. Что я делаю неправильно?
Может ли страница http: // about: blank вызвать проблему междоменного доступа? Я не уверен, как работает эта страница. – ToastyMallows