我在 Angular 10 中内置了 Angular 项目。当我从浏览器打开谷歌翻译时,我在从 IOS Chrome 浏览器调用 api 时遇到问题。
如果我不打开翻译,它会给我 API 的正确响应
但是,当我打开翻译时,我收到此错误。
InvalidAccessError The object does not support the operation or argument
仅当我从浏览器进行翻译时才会发生错误,如果我从 Iphone 中的设置进行翻译,则它工作正常。
它在笔记本电脑的所有浏览器中也运行良好。
如果使用 javascript
fetch
函数而不是 Angular HttpClient
那么它可以正常工作,HttpClient
请求甚至不会发送到服务器。即使在发送请求之前它也会出错。
这是因为 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);