【发布时间】:2019-09-23 12:18:21
【问题描述】:
我正在尝试使用 this GitHub project 控制我的 GoPro Fusion。每当我运行POST 请求时,我都可以控制它,但现在我试图通过运行GET 请求来监听http://10.5.5.9/gp/gpControl/status 上的状态变化。
每次我请求此 URL 时,我都会在我的 safari 检查器中获得以下信息:
由于访问控制检查,XMLHttpRequest 无法加载 http://10.5.5.9/gp/gpControl/status。 错误:未捕获(承诺中):响应状态:0 对于 URL:null 加载资源失败:Access-Control-Allow-Origin 不允许 Origin ionic://localhost。
我一直在使用ionic cordova run ios -l -c 运行我的应用程序,并尝试在ionic.config.json 中设置代理:
"proxies": [
{
"path": "/gp/gpControl",
"proxyUrl": "http://10.5.5.9"
}
]
但这不起作用,我反而认为由于代理不起作用,我应该尝试在没有实时重新加载服务器的情况下安装它,但我仍然得到完全相同的错误。
如果我在移动浏览器中访问 url,它会很好地加载 json,只有当我尝试在其上运行 GET 时,它才会失败并出现 2 个 cors 错误。
我实际运行GET 的代码如下所示:
constructor(
private http: Http
) {
setInterval(() => {
this.get('http://10.5.5.9/gp/gpControl/status').then(a => {
console.log(a);
});
}, 1500);
}
public get(path, params = {}): Promise<any> {
return this.http.get(this.baseUrl + path, params).toPromise();
}
我已经解决这个问题超过 12 个小时了,完全不知道接下来要尝试什么,所以非常感谢任何帮助。
【问题讨论】:
标签: cordova http ionic-framework cors ionic4