Varför antar httpclient i Angular 4 att den begäran jag skickar är JSON-data
Jag använder Angular 4 HTTP-klient till en server som returnerar textdata, så för det gjorde jag något som nedan
this.http.get('assets/a.txt').map((res:Response) =>
res.text()).subscribe((data: any) => {
console.log(data.text());
});
Jag sa inte till någonstans att svaret ska vara i JSON-format, men ändå uppstår följande fel
SyntaxError: Ov väntat tecken a i JSON vid position 0 vid Object.parse() vid XMLHttpRequest.onLoad
På vilken grund antar dessa människor att svaret är i json-format :)
Svar #1
Svaret från nya HttpClient är JSON som standard. Om du vill få svaret i ett annat format kan du ställa in det via requestOption responseType: 'text'. Här är mer information om denna implementation: https://angular.io/guide/http#requesting-non-json-data
Ett exempel:
this.http.get('assets/a.txt', { responseType: 'text' }).map((res:Response) =>
res).subscribe((data: any) => {
console.log(data);
});
