Получение ошибки HttpErrorResponse в angular - PullRequest
1 голос
/ 06 августа 2020

Я пытаюсь отправить HTTP-запрос на отправку со своей страницы createorder.component.ts для создания записи. Но я получаю ошибку HttpErrorResponse. Где я делаю не так? помогите пожалуйста

createorder.component.ts

onSubmit(form: any) {
this.spinner.show();
 this.http.post('/api/order/' + '_foodforest' + '/' + '9ed7f9d5-8ed3-4f57-b360-7e4da87f2d6d' ,
      JSON.stringify(form.value))
      .subscribe(result => {
this.spinner.hide();
});
}

Ошибка

введите описание изображения здесь

Ответы [ 2 ]

2 голосов
/ 06 августа 2020

Angular HttpClient пытается разобрать ответ api на JSON по умолчанию.

Ваш ответ API не в формате JSON, а JSON.parse не выполняется внутри HttpClient.

Вы можете вернуть ответ api как JSON из бэкэнда или сообщить http-клиенту, что тип ответа не является JSON:

this.http.post(url, JSON.stringify(form.value), {
  responseType: 'text'
})
0 голосов
/ 06 августа 2020
onSubmit(form: any) {
  const url=''; // replace with your endpoint
  const headers = new Headers();
  // headers.append('Content-Type', 'application/x-www-form-urlencoded');
  headers.append('Content-Type', 'text/plain; charset=utf-8');
  this.spinner.show();
  this.http.post(url,JSON.stringify(form.value), { headers: headers })
  .subscribe(result => {this.spinner.hide();});
}

Попробуйте приведенный выше фрагмент кода с типом контента, который вам нужен: text / plain или application / x- www-form-urlencoded

...