Angular http 客户端无法在 IOS chrome 浏览器中进行翻译?

问题描述 投票:0回答:1

我在 Angular 10 中内置了 Angular 项目。当我从浏览器打开谷歌翻译时,我在从 IOS Chrome 浏览器调用 api 时遇到问题。

如果我不打开翻译,它会给我 API 的正确响应

但是,当我打开翻译时,我收到此错误。

InvalidAccessError The object does not support the operation or argument

仅当我从浏览器进行翻译时才会发生错误,如果我从 Iphone 中的设置进行翻译,则它工作正常。

它在笔记本电脑的所有浏览器中也运行良好。

如果使用 javascript

fetch
函数而不是 Angular
HttpClient
那么它可以正常工作,
HttpClient
请求甚至不会发送到服务器。即使在发送请求之前它也会出错。

ios angular httpclient angular-transitions
1个回答
4
投票

这是因为 HTTPClient 默认需要一个 json 响应,当你打开翻译时,它不再是一个 json。尝试接收类似的回复

this.http.post(this.url, body, {responseType: 'text'}).subscribe((res)=> console.log(res));

body 也应该是类似 json 的

body=JSON.stringify(data);

如果它打印出来,如果你觉得它不是一个 json,那么通过你的代码将它映射到 javascript 对象,如果它看起来是一个 json,那么使用

JSON.parse(res);
© www.soinside.com 2019 - 2024. All rights reserved.