我正试图从Angular 离子应用程序发送get调用到相机http://192.168.42.1/osc/info
。此请求在飞行前被卡住。我怀疑这可能是CORS的问题,我已经尝试了下面的代码,但这没有工作。
getinfo()
{
const headers =new HttpHeaders({
'X-XSRF-Protected': '1',
'Content-Type': 'application/json;charset=utf-8',
'Accept': 'application/json',
'Access-Control-Allow-Headers':'*',
'Access-Control-Allow-Origin':'*',
'Access-Control-Allow-Methods':'GET'
})
this.http.get("http://192.168.42.1/osc/info",{headers: headers}).subscribe(data => {
console.log("Result:" + data);
return data;
}, error => {
console.log('Error'+ error);
});
上面的get方法在另一个ts文件中被调用this.results = this.servicename.getinfo();
以上结果我正在显示在html页面
我还遵循了INSTA360 OSC API LINK并传递了除了内容长度之外的提到的头,因为这是get调用。
当我从浏览器或 Postman 中点击时,它会工作并给予结果。我还尝试将主机更改为192.168.42.1:6666,但没有得到预期的结果。为了避免CORS错误,我将内容类型更改为文本/纯文本,但仍然存在相同的问题。
1条答案
按热度按时间q8l4jmvw1#
使用CapacitorHttp插件来使用原生http而不是angular。这就是我如何解决CORs问题的方法。