AngularJS从$resource请求中设置cookie,并在其他请求中重新发送它们

AngularJS从$resource请求中设置cookie,并在其他请求中重新发送它们,angularjs,phalcon,Angularjs,Phalcon,我使用的是使用Phalcon微框架编码的API服务,例如API.mydomain.com 我使用AngularJS使用API,并使用下一个代码执行请求: Services.factory('theRequester', ['$resource', function($resource){ return $resource('http://api.mydomain.com/myrequest', {}, { query: {method:'GET', params:{},

我使用的是使用Phalcon微框架编码的API服务,例如API.mydomain.com

我使用AngularJS使用API,并使用下一个代码执行请求:

Services.factory('theRequester', ['$resource',
  function($resource){
    return $resource('http://api.mydomain.com/myrequest', {}, {
      query: {method:'GET', params:{}, isArray:false}
    });
  }]);
我正确地接收到第一个响应(在服务器端设置会话数据),并在标题中返回:

Access-Control-Allow-Origin:*
Cache-Control:no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Connection:Keep-Alive
Content-Type:application/json
Date:Thu, 22 May 2014 23:05:02 GMT
Expires:Thu, 19 Nov 1981 08:52:00 GMT
Keep-Alive:timeout=5, max=100
Pragma:no-cache
Server:Apache/2.2.27 (Unix) mod_ssl/2.2.27 OpenSSL/1.0.0-fips mod_bwlimited/1.4
Set-Cookie:PHPSESSID=105c5ec5df299f758c1ea124d93b109c; path=/; domain=mydomain.com
Transfer-Encoding:chunked
X-Powered-By:PHP/5.4.27
现在,对于我向API执行的每个新请求,我都需要发送PHPSESSID cookie,但问题是在执行请求后没有设置cookie,如果我在浏览器中手动设置cookie,cookie也不会发送到我执行的其他请求中

我已经做了一项研究,我总是读到浏览器会在每个请求中自动发送cookies,但没有这样做

如何解决这两个问题


谢谢

在xhr请求中尝试将withCredentials标志设置为true。这是一个CORS知道的问题如何使用$resource实现这一点?I jsut可以找到有关$http的内容:您可以在配置时使用$HttpProvider来设置该标志,但下面是$resource服务的文档,它在操作部分中讨论了该标志:return$resource(“”,{},{query:{method:'GET',params:{},isArray:false,withCredentials:true});但是仍然没有设置和发送cookies我忘了问你1使用什么浏览器,2允许cookies吗?3后续请求是否指向同一域?如果是这样的话,浏览器应该自己处理,你不必做任何事情。如果未设置cookie,则可能对浏览器有一些限制