【发布时间】:2017-10-28 08:39:21
【问题描述】:
我正在使用 Web 服务(Drupal 7 服务)通过使用 Ionic 框架的移动应用程序(不是浏览器)进行用户登录/注销。它要求我将 POST 方法的 Header 设置为与用户登录时设置的相同的 cookie。
1)如何使用AngularJS(1.3.5版)获取cookie头
登录时响应头中的cookie是
...
Set-Cookie: SESSd6f3e35b53c92bc6e830d79db4d6eb6c=AEFJYKD8s6vAsizxgYaNOJPy0dPMQ1rJX8RYO-cjfXs;
...
2) 如何使用 AngularJS 将其放入 $http 标头中
接下来,如何为 POST 设置 Cookie。
$http({
method : 'POST',
url : '192.168.1.10/app/user/logout',
dataType : 'json',
headers: {
'X-CSRF-Token': token,
'Content-Type': 'application/x-www-form-urlencoded',
'Accept': 'application/json',
'Cookie': 'SESSd6f3e35b53c92bc6e830d79db4d6eb6c=AEFJYKD8s6vAsizxgYaNOJPy0dPMQ1rJX8RYO-cjfXs,
// HOW to set this cookie using angular to the value that was read on login
},
})
【问题讨论】:
-
ngCookies模块提供了一个用于读取和写入浏览器 cookie 的包装器。当您配置$http标头时,您可以通过其名称获取此cookie 并将其放入标头中。或者使用 http 拦截器在一个地方对所有 http 请求执行此操作。 -
能否请您展示如何使用ngCookies来读取和写入cookies,特别是如何为http中的Header设置cookie
-
它在一个单独的模块中定义。我们应该将它作为依赖添加到我们的模块
ngCookies。请参阅文档here。 -
当您在网络视图中使用 Angular 时,令牌比 cookie 更可取。查找 Angular 的转换请求并使用它来设置登录成功的 cookie。
-
@Pete 我已将“ngCookies”添加到我的应用程序中。和 $cookies 到我的控制器和功能。我正在寻找的是在登录时读取 cookie 的示例代码。并将 Cookie 放入 $http POST 标头中。你能帮忙提供一个示例代码吗
标签: angularjs cookies ionic-framework drupal service