2017-07-25 108 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); –

相關問題