2017-07-25 75 views
1

嗨我正在开发Angularjs Web应用程序。我正在使用API​​来获取数据。登录成功后,我会在cookie中获取一些数据(响应头)。在非常接下来的http调用中,我需要将返回的cookie数据发送给apis。以下是响应头的快照。如何在angularjs的每个请求标头中发送cookie?

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中完成吗?任何帮助,将不胜感激。谢谢。

+0

Cookie发送和服务器接收每个呼叫,为什么处理它在客户端代码? –

+4

不应该出现这种情况吗? Afaik,浏览器会将有效的cookies附加到对相同域的任何后续请求。 –

+0

谢谢克里斯G.所以没有必要手动附加饼干权利? –

回答

1

Cookies的一个特点是它们会随着每个请求被发送到服务器。确保请求所在的域是设置它的域或子域。

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

+0

@NiranjanGodbole对你有帮助吗? – jeanfrg

1

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

例如: -

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

在这个例子中我设置命名的authToken本地存储的价值,同时通过它,我们获取和设置它。

+0

谢谢Jaimin。我如何从响应中读取cookie?有没有什么功能可以读取它? –

+0

我试过如下,我得到undefined事件,但我可以看到cookie中的回应。 var cookievalue = $ cookies.get('CookieHeaders'); console.log(cookievalue); –

相关问题