为什么角度4中的httpclient假设请求发送json数据

时间:2017-12-12 22:01:09

标签: json angular typescript angular-httpclient

我正在使用angular 4 http客户端到一个返回文本数据的服务器,所以我做了类似下面的事情

this.http.get('assets/a.txt').map((res:Response) => 
res.text()).subscribe((data: any) => {
  console.log(data.text());
});

我没有告诉它任何响应是json格式的地方,但仍然提出以下错误

  

SyntaxError:Object.parse中位置0的JSON中的意外标记a   ()XMLHttpRequest.onLoad

这些人假设的基础是json格式的响应:)

1 个答案:

答案 0 :(得分:8)

默认情况下,新HttpClient的响应是JSON。如果您想以其他格式获取回复,可以通过requestOption responseType: 'text'进行设置。以下是有关此实施的更多信息:https://angular.io/guide/http#requesting-non-json-data

一个例子:

this.http.get('assets/a.txt', { responseType: 'text' }).map((res:Response) => 
res).subscribe((data: any) => {
  console.log(data);
});