Błąd netto :: ERR_EMPTY_RESPONSE na metody Delete kątowej 4?

głosy
0

Używam poniżej metody usuwania danych

return this.http.delete(this.ApiURL, new RequestOptions({headers: headers,body: body })) .map((res: Response) => res.json());

Ale dostał Net :: ERR_EMPTY_RESPONSE Również gdy uruchomię to w listonosz jest pomyślnie usunięty.

Proszę kierować

Utwórz 16/02/2015 o 10:33
źródło użytkownik
W innych językach...                            


1 odpowiedzi

głosy
1

W twoim przypadku serwer zwraca pusty korpus odpowiedzi HTTP i stanu 200 OK. Jednak HttpResponsejest .json()metoda oczekuje, że ciało się być prawidłowy ciąg JSON. Skoro nie masz ciało, .json()metoda zgłasza Unexpected end of JSON inputbłąd. Ty też nie masz .catch(), a to nieobsługiwany błąd rozchodzi się do konsoli przeglądarki.

Jednym ze sposobów rozwiązania tego problemu jest, jeśli masz dostęp do kodu po stronie serwera. Możesz zmienić swoje DELETEodpowiedzi sukces kod stanu metoda, aby być 204( „No content”). W ten sposób .json()metoda nie wygeneruje błąd, ponieważ oczekuje, że ciało odpowiedź będzie pusta.

Innym sposobem jest wziąć za pewnik, że jeśli kod stanu jest 200delecja została zakończona pomyślnie, a nie dzwonić .json()na obiekcie odpowiedzi.

Odpowiedział 26/12/2017 o 09:51
źródło użytkownik

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more