Why httpclient in angular 4 is assuming that request am sending json data

大憨熊 提交于 2020-01-21 09:07:09

问题


I am using angular 4 http client to a server which returns text data so for that I did something like below

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

I did not tell it any where that the response is in json format but still it is raising the below error

SyntaxError: Unexpected token a in JSON at position 0 at Object.parse () at XMLHttpRequest.onLoad

On what basis these people assume as the response is in json format :)


回答1:


The Response of new HttpClient is JSON by default. If you want to get the response in another format, you can set it via requestOption responseType: 'text'. Here is some more information about this implementation: https://angular.io/guide/http#requesting-non-json-data

An example:

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


来源:https://stackoverflow.com/questions/47782249/why-httpclient-in-angular-4-is-assuming-that-request-am-sending-json-data

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!