我正在尝试从后台应用程序获取字符串响应。我搜索了这个问题,几乎在所有解决方案中,他们都添加了{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, …}
答案 0 :(得分:4)
在当前代码中,您没有将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);
}
希望有帮助!