Restangular:如何在每次查询时读取 cookie 并添加到 Headers

Restangular: How to read cookie and add to Headers at each query

我正在尝试从 cookie 中读取一个标记,并在每次查询时将其添加到 headers。

我试过这个:

Restangular.setDefaultHeaders({ Authorization: "Token " + $cookieStore.get('token') })

它有效,但 cookie 只被读取一次。在页面加载时。然后,如果 cookie 的值发生变化,它会保留第一个值而不是发送更新后的值。

知道每次如何读取 cookie 吗?

您正在传递一个字符串,该字符串在执行代码时进行计算。它永远不会像你发现的那样改变。

相反,您需要传递一个函数,就像这样 -

Restangular.setDefaultHeaders({ Authorization: function() { return "Token " + $cookieStore.get('token'); } })

每次实际使用该值时都会对其进行评估。