我有在angular 10中构建的angular项目。当我从浏览器打开谷歌翻译时,我在IOS chrome浏览器中调用api时遇到了问题。
如果我没有打开转换,它会为我提供正确的API响应
然而,当我打开翻译时,我得到了这个错误。
InvalidAccessError The object does not support the operation or argument
只有当我从浏览器进行翻译时才会发生错误,如果我从Iphone中的设置进行翻译,则它工作得很好。
而且它在笔记本电脑的所有浏览器上都运行得很好。
如果使用javascript fetch函数而不是angular HttpClient,那么它可以很好地处理HttpClient请求,甚至不会发送到服务器。它甚至在发送请求之前就给出了错误。
发布于 2020-12-19 02:55:21
这是因为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);https://stackoverflow.com/questions/65247153
复制相似问题