Angular 5如何处理后端返回的HTML?Observable提前解析问题求助
你要找的专业术语在这里
首先,你遇到的这个场景对应的核心专业术语是 "默认响应解析(Default Response Parsing)",结合RxJS Observable的使用场景,也可以叫 "订阅前响应转换(Pre-subscription Response Transformation)"。
简单说,当你用Observable(比如像Angular HttpClient返回的这类处理HTTP请求的Observable)获取后端的HTML内容时,这类Observable的底层逻辑会根据响应头里的Content-Type信息,自动触发响应体的解析操作——而且这个解析是在你订阅Observable、自己动手处理数据之前就完成了。比如如果后端返回的Content-Type是text/html,有些HTTP客户端会自动把响应体解析成DOM节点或者HTML文档对象,而不是给你原始的字符串,这就是你碰到的“Observable先一步解析内容”的原因。
要是你想阻止这种自动解析,一般可以在发起HTTP请求时设置responseType选项为'text',强制客户端返回原始的HTML字符串,这样你就能在订阅后自己控制解析逻辑啦。
内容的提问来源于stack exchange,提问作者Efim Rozovsky
相关产品推荐
相关产品推荐

