Неожиданный токен x в JSON в позиции 0

Я получаю сообщение об ошибке: Неожиданный токен x в JSON в позиции 0

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

Как я могу отладить это и решить проблему? Он делает успешный вызов и добавляет элемент. (Просто мой перехватчик сообщает об ошибке обратно)

Полезная нагрузка:

{"name":"xx","description":"aaabbb"}

Мой вызов:

// This is in my component.  Just illustrating here what it is set to.
jsonHeaderOptions = { headers: new HttpHeaders({ 'Content-Type': 'application/json' }) };


  public addCall(dataObject: any) {
    let body = JSON.stringify(dataObject);

    return this.httpClient
      .post(this.uri, body, this.jsonHeaderOptions);
  };

person PrivateJoker    schedule 03.10.2018    source источник
comment
Почему вы отправляете тело в виде строки (JSON.stringify), устанавливая тип содержимого как json?   -  person Learning    schedule 03.10.2018
comment
Где вы получаете эту ошибку?   -  person Henry    schedule 03.10.2018
comment
Я получаю сообщение об ошибке в созданном мной HttpInterceptor. Он возвращается с 200 OK, с этой ошибкой.   -  person PrivateJoker    schedule 03.10.2018
comment
Вам не нужно устанавливать заголовок Content-Type. Angular сделает это за вас автоматически.   -  person Brandon    schedule 03.10.2018


Ответы (1)


Вы можете отключить синтаксический анализ json по умолчанию HttpClient, передав responseType, как показано ниже.

return this.httpClient
  .post(this.uri, body, { responseType: 'text'});
person Padhu    schedule 03.10.2018
comment
Я сделал это, я перешел от 200 к Ошибка: Статус: 415 Текст: Неподдерживаемый тип носителя - person PrivateJoker; 03.10.2018
comment
попробуйте удалить JSON.stringify(dataObject); Вам не нужно этого делать. - person Padhu; 03.10.2018