【问题标题】:Angular2 HTTP request - set cookie errorAngular2 HTTP 请求 - 设置 cookie 错误
【发布时间】:2017-12-22 12:35:10
【问题描述】:

我正在尝试从 rest api 获取一些数据,为此我正在使用 angular2 的 http 模块。我的问题是我在发送 http 请求时收到错误“拒绝设置不安全的标头“Cookie””。

这是我的代码。

getChannels(endpoint: string): Observable { 
  let headers= new Headers(options.headers) 
  headers.append('Accept','application/xml')
  headers.append('Cookie', this.cookie);

  let reqOpt = new RequestOptions({headers: headers}) 
  return this.http.get(endpint, reqOpt ).map((response) => {
    return response;
  })
}

【问题讨论】:

    标签: angular cookies http-headers xmlhttprequest


    【解决方案1】:

    根据 XHR 规范,cookie 标头是被禁止的。

    from documentation:

    这些是被禁止的,所以用户代理仍然可以完全控制 他们。以Sec- 开头的名称被保留以允许新标头 使用允许控制的 fetch 从 API 中安全地铸造 开发人员的标头,例如 XMLHttpRequest。

    那么,为什么不使用 JWT(JSON Web Token)呢?

    【讨论】:

    • 感谢您的回答。我需要发送一个 cookie 来连接到 Mirth Api Framework。使用请求我可以做到这一点,但我想使用 http 并使用 Observables。
    • 我不确定 Mirth Api 框架的要求,但如果您不熟悉 jwt,我可以帮助您将它与 observables 和 http 一起使用...
    • 非常感谢。我是 angular2 的菜鸟,在理解 observables 和如何链接服务方面遇到了一些问题
    • 我对它们也很陌生,它们既简单又非常棒。一个很好的起点是他们在 ReactiveX 网站上的文档。 reactivex.io/documentation/observable.htmlreactivex.io/rxjs/class/es6/Observable.js~Observable.html 祝你好运。 :)
    猜你喜欢
    • 2017-03-10
    • 2017-03-29
    • 1970-01-01
    • 2016-05-06
    • 1970-01-01
    • 1970-01-01
    • 2017-03-12
    • 2011-06-24
    • 1970-01-01
    相关资源
    最近更新 更多