我是Ionic的新手。我的打字稿文件是这样的:
import { Component } from '@angular/core';
import { Http } from '@angular/http';
import { NavController } from 'ionic-angular';
@Component({
selector: 'page-about',
templateUrl: 'about.html'
})
export class AboutPage {
mypage: any;
constructor(public navCtrl: NavController, public http: Http) {
this.http
.get('http://localhost/xampp/')
.map(response => response.text())
.subscribe(html => this.mypage = html);
}
}
即使在相同的来源中,任何URL也会导致类似以下
EXCEPTION: Response with status: 0 for URL: null
的错误:该错误出现在我的PC或手机中的离子服务上。我应该怎么做才能解决?我也想将其作为组件加载为“ templateUrl:'somehtml'”,但将来我想在我的应用程序中加载一些json数据。谢谢你。
我自己解决了。这是一个CORS问题,但我在Ionic 2上几乎没有找到有关它的信息。答案在ionic.config.json
文件中。您必须将这些行添加到json项目:
"proxies": [
{
"path": "/virtualfolder",
"proxyUrl": "http://www.externalsite.com"
}
]
现在是真正的问题。足够的?不,当然。回到我的代码,我应该这样做:
this.http
.get('virtualfolder/someresource.html')
.map(response => response.text())
.subscribe(html => this.mypage = html);
Ionic将您的外部资源映射到您指定的路径中。在注意到这一点之后,我不得不解决一些与之无关的问题,但最终还是达到了我想要的目的,并且我注意到了反XSS策略的强大性。希望我会帮助某人。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句