【问题标题】:POST requests are being called twice in angular 2POST 请求在角度 2 中被调用两次
【发布时间】:2017-08-18 09:51:31
【问题描述】:

我不知道,但我的 POST 请求被调用了两次。我可以知道解决这个问题吗?我也尝试使用 share() 但无济于事。

以下是我的代码

 addUser(data): Observable<User> {


    let body : string = JSON.stringify(
    {postData: data}),
    headers: any = new Headers({'Content-Type': 'application/json'}),
    options: any = new RequestOptions({ headers: headers}),
    url: any = this.Url+"/user/register";


    return this.http.post(url,body,options).map(res=> <any>(res['_body']));


}

【问题讨论】:

  • 这段代码对我来说看起来不错,它可能发生了两次,因为它被调用了两次。
  • 第一个请求可能是一个 OPTIONS 请求。查看 CORS 文档了解更多详情。
  • 你能把请求截图贴在这里
  • @Sreemat 我编辑了,请检查图像。 Gunter Zochbauer 所说的是真实的,但我无法修复它。有什么帮助吗?
  • 您实际上只打了一个电话。您看到的是 CHROME 在实际发出 post 请求之前发出的 OPTIONS 请求。按照 Gunter Zochbauer 的建议检查 CORS 文档。你不会在 Firefox 中看到 OPTIONS 请求。

标签: javascript angular typescript post http-post


【解决方案1】:

第一个请求是 OPTIONS 类型,这是正常的。 HTTP OPTIONS 方法用于描述目标资源的通信选项。

在此处了解更多信息:https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS

【讨论】:

  • this.testServicde.addUser(this.data).subscribe(response=>{ var result = JSON.stringify(response); } 这是我的用例
  • plnkr.co/edit/ul38INLymPzSJ6cHbk7U?p=catalogue 我在 plunker 中添加了。你能查一下吗?
  • 好的,你能把请求截图粘贴到这里吗(来自chrome的开发者控制台)
  • 哈,我看不到你什么时候更新问题。我也更新了我的答案:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-10-22
  • 2016-12-17
  • 1970-01-01
  • 2012-10-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多