Как получить строковый ответ из внутреннего приложения с угловым 7 - PullRequest
0 голосов
/ 28 марта 2019

Я пытаюсь получить строковый ответ от моего приложения назад.я искал эту проблему и почти во всех решениях они добавили {responseType: "text"} или {responseType: 'text' как 'json'}, чтобы получить строку, я добавил ее, но не могу прийти, вот мой угловой код:

msg:any;
  func(){
    this.bookService.getRessource(url,{ responseType: "text"})
      .subscribe(data => {
        console.log(data)
        this.msg=data;
      }, err => {
        console.log(err)
      })
  }

Это мой сервис, я должен добавить jwt в заголовок:

getRessource(url,res){
   let headers=new HttpHeaders({'Authorization':'Bearer '+this.authService.jwt});
    return this.http.get(url,{headers:headers});
  }

Функция добавить книгу в список избранных пользователя, она работает и добавить ее в базу данных, ностранная вещь - сообщение об ошибке отображается в консоли, и я могу найти строку, которую я хотел бы получить в этой ошибке.Но я не могу понять, как работает функция, и затем появляется сообщение об ошибке !!

Это сообщение об ошибке, которое я получаю:

HttpErrorResponse {headers: HttpHeaders, status: 200, statusText: "OK", url: "http://localhost:8080/user/addBookToUser?username=admin&id=9", ok: false, …}

1 Ответ

4 голосов
/ 28 марта 2019

В вашем текущем коде вы не размещаете responseType: text в правильном месте.Это должна быть опция фактического HttpClient get() вместе с headers:

msg:any;

func() {
  this.bookService.getRessource(url)
    .subscribe(data => {
      console.log(data)
      this.msg = data;
    }, err => {
      console.log(err)
    })
}

getRessource(url) {
  const headers = new HttpHeaders({ 'Authorization': 'Bearer ' + this.authService.jwt });
  const options = { responseType: 'text', headers };
  return this.http.get(url, options);
}

Надеюсь, это поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...