You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为何Angular HttpClient的responseType设为'text'报错但'json'正常?

这个报错是Angular HttpClient的TypeScript类型重载规则导致的,和'text'本身是否为合法参数无关:

  • 当responseType为默认值'json'时,对应的方法重载支持传入泛型指定JSON解析后的数据类型,因此你写的带<string>泛型的get调用可以正常通过类型校验。
  • 当你显式指定responseType为'text'/'blob'/'arraybuffer'这类非JSON类型时,对应的方法重载没有开放泛型参数,TypeScript会自动根据你传入的responseType推断返回值类型(比如'text'对应返回类型就是Observable<string>),此时你额外添加的<string>泛型无法匹配任何已定义的重载,就会抛出类型不匹配的TS2769错误。

正确写法直接去掉方法后的泛型参数即可,TypeScript会自动完成类型推断:

return this._http.get(url, { responseType: 'text'}).pipe(map(response => body));

内容的提问来源于stack exchange,提问作者jm123456

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 10:00:04