如何在angularjs中的每个请求标头中发送cookie?

时间:2017-07-25 12:19:47

标签: javascript angularjs

您好我正在开发Angularjs Web应用程序。我正在使用API​​来获取数据。登录成功后,我将获得cookie中的一些数据(响应头)。在接下来的后续http调用中,我需要将该cookie数据发送给apis。下面是响应头的快照。

Response header with cookie

以下是我的示例$ http电话。

var req = {
              method: 'POST',
              url: savepersonaldetailsurl,
              headers: {
              RequestedPlatform: "Web",
              RequestedLanguage: cookiePreferredLanguage
              },
  data:      {
             LoginId: LoginID
             }
   $http(req).then(function (response) {
   //do something here
  }, function (error) {
     toastr.error($filter('translate')('Error Occured'));
     });

在每个http调用中,我想在标头中发送cookie。我可以知道如何在angularjs中完成这项工作吗?任何帮助,将不胜感激。谢谢。

2 个答案:

答案 0 :(得分:1)

Cookie的一个功能是,每次请求都会将它们发送到服务器。确保请求所在的域与设置它的域或子域相同。

  

cookie通常由浏览器存储,然后是cookie   与Cookie HTTP标头内的同一服务器发出的请求一起发送    - https://developer.mozilla.org/en-US/docs/Web/HTTP/Cookies

答案 1 :(得分:1)

首先存储来自localstorage中的响应的值,然后你可以创建一个公共的全局函数,将值设置为localstorage并获取值并在每个请求上调用该函数。

例如: -

headers: {
    'Content-Type': 'application/json',
    'Authorization': authfunction.getToken('AuthToken');
}

在这个例子中,我在名为AuthToken的本地存储中设置了值,在传递它时我们得到并设置它。