2017-07-27 19 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