您好我已经在离子视图中部署了我的项目,我需要对远程服务器进行http调用。我已经实现了这样的代理
{
"name": "MobileUI",
"app_id": "608c237d",
"type": "ionic-angular",
"proxies": [
{
"path": "/Auth",
"proxyUrl": "https://example.com/Auth/Authenticate",
"rejectUnauthorized": false
}
]
}
我按照这个
对提供者进行登录调用 AuthenticateUser(username: string, password: string) {
var userNamePwd: any = {};
userNamePwd.username = username;
userNamePwd.password = password;
let body = JSON.stringify(userNamePwd);
let headers = new Headers({ 'Content-Type': 'application/json' });
let options = new RequestOptions({ headers: headers });
return this.http.post('/Auth', body, options)
.map((res) => {
let data = this.extractData(res);
this.storage.set('id_token', data[0].Token);
this.sharedAuth.SetEntityData(data);
return data;
})
.catch(this.handleError);
}
在网络浏览器中测试时,登录效果非常好,但是当我在离子视图中上传应用程序时,我收到此错误response with status 0 for url null
我以http://blog.ionic.io/handling-cors-issues-in-ionic/中提到的方式实现了代理。
我错过了什么吗?
答案 0 :(得分:0)
问题在于,当您在离子视图应用中运行应用时,没有本地代理将请求转发到您的后端。所以你陷入了cors问题,因为本地webview在离子视图应用程序中强制执行严格的cors。
我希望离子团队提出修复方案。至于现在,据我所知,您应修改后端以允许所有来源,或使用Web服务器作为代理将您的请求转发到您的api服务器。