2

我正在使用 angular 4 http 客户端到返回文本数据的服务器,因此我做了类似下面的操作

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

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

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

这些人在什么基础上假设响应是 json 格式:)

4

1 回答 1

10

new 的响应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);
});
于 2017-12-12T22:09:38.060 回答