为什么Cookie头没有设置在phantomjs中的同域$ .ajax请求中?

我通过jQuery的$.ajax(request)函数在同一个域内$.ajax(request) 。 不幸的是,Cookie标头永远不会设置(既不是POST也不是GET ),我不知道为什么。

如果我正确理解jQuery Ajax,则应根据页面cookie(如document.cookie )设置Cookie标头。 我已经跟踪了document.cookie并且对我来说似乎它已经正确地更新了(根据Set-Cookie标题)每个xhr响应。 但是在调试请求时,所有都没有设置Cookie标头。

我的请求创建方式的简化版本:

 var request = { type: 'POST', data: 'theDataIsCorrect=true', async: false, url: '/a/relative/url/like/this?maybe=even&with=this', // withCredentials does not help (ignored on same domain request anyways) xhrFields: { withCredentials: true }, beforeSend: function(jqXHR) { doStuff(); }, error: function(jqXHR, textStatus, errorThrown) { errorHandling(); }, complete: function(jqXHR, textStatus, errorThrown) { complete(); } }; $.ajax(request); 

我的脚本如何工作:

  1. 域名在浏览器中打开(尚未添加cookie)
  2. 通过$.ajax xhr申请登录(回复有cookies)
  3. 通过$.ajax请求我想要查看/修改/等的页面。 (请求错过Cookie标头)
  4. GO TO 3. || GO TO 5.
  5. 通过$.ajax注销

编辑:

我使用phantomjs [1.9]作为浏览器。 使用Firefox或Chrome时不会发生此问题。 我发现了这个问题,有人在描述类似的行为: phantomjs – 没有为任何XHR / POST / GET AJAX请求发送Cookie