dvarun Ответов: 1

Ответ успеха становится правильно, но сообщение об ошибке не получает угловой


При вызове службы success response получает правильно, но error response показывает пустой в пользовательском интерфейсе. На вкладке Сеть код состояния равен 200 и также в ответ показывает правильное сообщение об ошибке, но в консоли вкладка показывает следующую ошибку:
https://i.stack.imgur.com/BtI0E.png[^]
restoration(Id: string): Observable<ServerResponse> {
 return this.http.put<ServerResponse>(`${url.restoration}?id=${Id}`, {
      headers: this.jsonHeaders
});
}


Что я уже пробовал:

restoration(Id: string): Observable<ServerResponse> {
 return this.http.put<ServerResponse>(`${url.restoration}?id=${Id}`, {
      headers: {accept: 'text/plain'}
});
}

Richard Deeming

Код состояния 200 значит, запрос удался. Ответ на ошибку должен иметь другой код состояния.
Список кодов состояния HTTP - Википедия[^]

1 Ответов

Рейтинг:
1

Sandeep Mewara

Судя по изображению, ваш ответ на ошибку находится в формате XML и кажется, что он ожидается и анализируется как JSON. Учитывая несоответствие, вы получаете ошибку при синтаксическом анализе.

Следующий последующий запрос может заключаться в том, чтобы исправить это:
1. клиентская сторона, не слепо принимайте его как json, принимайте его как текст и работайте
2. На стороне сервера, если ты можешь это контролировать, вернуть ответ в формате JSON вместо XML-файле. Затем на стороне клиента вы можете разобрать как возвращенный:

header: {'Content-Type: application/json'};

Основываясь на изображении, вы, кажется, знаете, как использовать инструмент веб-разработчика браузеров. Используйте его и посмотрите, каков там ответ, и спланируйте свои следующие шаги.


dvarun

я сделал этот метод не могли бы вы сказать мне по другому

Sandeep Mewara

Мне больше нечего добавить. Не анализируйте ответ как json, если это не так. Очевидно, что вы получаете xml - трактат, как один из них.