有没有办法使用初始http请求设置cookie?Angular:使用http请求设置Cookie
含义,我想打电话给一个网址,并在同一时间设置cookie。不知道如何去做这件事?谢谢你
更新:我没有做跨域,但在新标签中的子域。
有没有办法使用初始http请求设置cookie?Angular:使用http请求设置Cookie
含义,我想打电话给一个网址,并在同一时间设置cookie。不知道如何去做这件事?谢谢你
更新:我没有做跨域,但在新标签中的子域。
在这些请求离开的时刻,Cookie会随HTTP请求一起飞行。所以cookie必须已经在HTTP请求之前被设置,所以浏览器可以打包它们。
如果你只是想先设定一个cookie您的要求,您可以通过使用$cookies
服务做到:
angular.module('cookiesExample', ['ngCookies'])
.controller('ExampleController', ['$cookies', function($cookies) {
// Setting a cookie
$cookies.put('myFavorite', 'oatmeal');
// Make your HTTP Request here //
// $http.get('/someUrl').then(...);
}]);
现在,如果你想被透明地设置这些cookie,而不需要分散$cookies
无处不在,你应该写一个HTTP拦截器并在那里设置这些cookie。你可以阅读如何在这里:https://docs.angularjs.org/api/ng/service/ $ http(寻找拦截器)。
一旦你创建了一个本质上是工厂的拦截器,你可以将它连接到你的.Config
阶段,如下所示:$httpProvider.interceptors.push('myHttpInterceptor');
。然后,即使AngularJS框架所做的调用也会收到这个cookie。
如果这不是你想要的,在这里评论,我会尝试更新它。
你在做跨域请求吗? – mehulmpt
好点,我更新了问题 - 谢谢 – Thibs
当你说初始HTTP请求,这是否意味着AngularJS框架(加载模板等)或任何用户触发操作的第一个HTTP请求?像API调用或自定义请求一样? – Dorival