2017-07-27 37 views
-1

我需要一些帮助,我不知道如何但我所有的http.puthttp.delete请求从我的角度的客户端发生变化http.options。 是我唯一的错误是:角2:PUT和删除请求更改为选项

ERROR Object { headers: Object, status: 0, statusText: "Unknown Error", url: null, ok: false, name: "HttpErrorResponse", message: "Http failure response for (unknown …", error: error } 

如果有人有一个想法,感谢回答我。

有一个愉快的一天

let header = new HttpHeaders({ 
     'Access-Control-Allow-Credentials':'true', 
     'Access-Control-Allow-Origin' : '*', 
     'Access-Control-Allow-Headers' : 'Origin, X-Requested-With, Content-Type, Accept' 
    }); 
    this.http 
      .put('http://localhost:1993/pays/'+this.codeNouveauPays, JSON.stringify(""), { 
       headers : header, 
       params : new HttpParams().set('nom', this.nomNouveauPays).set('code', this.codeNouveauPays) 
      }) 
      .subscribe(); 
+1

检查您是否遇到[CORS]问题(https://en.wikipedia.org/wiki/Cross-origin_resource_sharing),它可能涉及到问题。 – bracco23

+0

你能分享http呼叫代码吗? – k11k2

+0

@ bracco23我还没有找到一个http灰熊服务器的解决方案 –

回答

0

你的请求不被更改为OPTIONS请求,这就是preflight request

你得到的错误是因为你的服务器(你的API)接收预检时有错误请求。

由于预检请求失败,您实际的请求(DELETE或PUT)在同一端点上永远不会完成。

在泽西岛实施预检处理的解决方案可以找到here

+0

我尝试了它,但它不起作用 –

+0

@TobiasZelft - 然后(1)使用Network选项卡来确切地查看正在做出的请求和响应(2)找出哪个请求得到错误的响应3)看看你编写的(服务器端!)代码来做出回应,并尝试修复它(4)如果失败了,用[mcve]问一个新问题, – Quentin