【发布时间】:2018-11-22 09:41:56
【问题描述】:
我正在尝试在 Angular 中发出请求,并且我知道 HTTP 响应将不是 JSON 格式,而是文本格式。但是,Angular 似乎期待 JSON 响应,因为错误如下:
SyntaxError: JSON.parse 中位置 0 的 JSON 中的意外标记
还有
解析http://localhost:9时的Http失败...
这是post方法:
return this.http.post(this.loginUrl, this.createLoginFormData(username, password), this.httpOptions)
.pipe(
tap( // Log the result or error
data => console.log(data);
error => console.log(error)
)
);
和标题。
private httpOptions = {
headers: new HttpHeaders({
'Accept': 'text/html, application/xhtml+xml, */*',
'Content-Type': 'application/x-www-form-urlencoded',
responseType: 'text'
},
) };
我认为responseType: 'text' 足以让 Angular 期待非 JSON 响应。
【问题讨论】:
-
您可以将回复作为示例发布吗?
-
嘿,艾米,你想把它转换成 JSON 吗?你能显示完整的代码吗?还有你从 API 得到的响应?
-
“我认为 responseType: 'text' 足以让 Angular 期待非 JSON 响应。” - 如果你在正确的位置指定它开头……这不是 HTTP 标头之一!
-
Angular 7 HttpClient - 如果您来自 Google 搜索,如果您尝试获取字符串并且没有自动 JSON 解析假设,则此链接的问题和评论可能与您相关。 stackoverflow.com/a/57084925/2080879
标签: angular typescript angular-httpclient