【发布时间】:2018-05-23 17:45:01
【问题描述】:
我正在使用 ionic 3 并编写一些提供程序代码以从位于某些 https 服务器中的 api 端点获取结果,例如 https://apiserver/api/endpoint/article 是我的终点。我的提供商代码如下。
// provider class function
load(){
if(this.data){
return Promise.resolve(this.data);
}
let headers = new HttpHeaders()
.set("Access-Control-Allow-Origin", "*")
.set('Access-Control-Allow-Methods', 'GET, POST')
.set("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
return new Promise(resolve => {
this.http.get('/api/endpoint/article',{headers})
.subscribe(data => {
this.data = data;
resolve(this.data);
},err => {
console.log(err);
});
});
}
// ionic.config.json
{
"name": "app",
"app_id": "app_id",
"type": "ionic-angular",
"integrations": {
"cordova": {}
},
"proxies": [
{
"path": "/api",
"proxyUrl": "https://apiserver/api"
}
]
}
load() 返回我在我的应用程序中显示的数据,这项工作 PERFECTLY 在我的 localhost、Ionic DevApp、Ionic View 中也可以通过 Ios/xcode 模拟器进行调试。 >
但是当我将我的应用程序安装到手机上时,它不会返回任何数据并显示空白页。
我已经调试了它,整个赌注没有找到任何关于这种行为的原因。可能是 CORS ?
【问题讨论】:
-
尝试放一些控制台日志,看看在移动设备上运行时是否有任何错误。
-
已经用模拟器试过了,但在模拟器中运行良好,不知道如何为移动设备放置控制台日志。
-
您可以尝试在视图本身中记录错误。至少我们可以知道是否抛出了错误
-
好的去试试
标签: angular typescript ionic-framework cors ionic3