【问题标题】:Angular4 HttpHeaders set incorrectlyAngular4 HttpHeaders 设置不正确
【发布时间】:2017-11-29 11:34:44
【问题描述】:

我正在尝试设置一个不使用 Angular(4.4.6) HttpClient 的 POST 请求。但是更改请求的标头并不能正常工作。

代码如下:

const url = "http://...";
const body = { ... };

this.http.post(url, JSON.stringify(body), {
    params: new HttpParams().set("Content-Type", "application/json; charset=utf-8"),
    headers: new HttpHeaders().set('Content-Type', 'application/json; charset=utf-8')  <--
}).subscribe(res => console.log(res))

结果如下:

如您所见,'Content-Type' 属性未设置,尽管密钥存储在 Access-Control-Request-Headers 中。

预期是类似 HttpParams 的行为(如您所见,这些设置正确)

任何想法我做错了什么?提前致谢!

【问题讨论】:

  • 那些是实际 POST 请求的详细信息还是来自飞行中的 OPTIONS 请求?
  • 好像是 OPTIONS 请求(没听说过)
  • 我更新了结果img
  • 嘿托莱多,这是 OPTIONS 请求,服务器不支持它(还)。谢谢你的提示!

标签: angular post http-headers httpclient


【解决方案1】:

下面试试

let headers = new HttpHeaders().set('Content-Type', 'application/json');
this.httpClient.post(
      `url`, data, { headers: headers}
    )

【讨论】:

  • 您为什么认为这会有所作为?
  • 我做了,但没有效果
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-04-10
  • 2011-02-05
  • 1970-01-01
  • 2020-10-14
  • 2011-03-09
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多