这种错误通常是由服务器返回的无效 JSON 导致的。为了解决这个问题,可以尝试以下几个方法:
检查 API 返回的 JSON 是否有效,可以使用 online JSON 校验器进行检查。
确保在请求头中设置了正确的 Content-Type,并且contentType 设置为 “application/json”。
如果服务器返回的数据并不是 JSON 格式的字符串,则应在 Http 请求中设置 responseType,如:
this.http.get(url, {
responseType: 'text'
}).subscribe(
(data) => {
// handle data
},
(error) => {
// handle error
}
);
this.http.get(url).subscribe(
(data) => {
// handle data
},
(error) => {
console.error('Failed to load data', error);
// handle error
}
);
以上这些方法之一应该可以解决“Failed to Decode JSON error in Angular Http”问题。