我在IONIC 2 App中对我的服务器的请求有问题。
在ionic.config.json中,我设置了代理(我的其余API可以直接从http://SERVER_ADDRESS.pl获得):
"proxies": [{
"path": "/rest",
"proxyUrl": "http://SERVER_ADDRESS.pl"
}]
在我的ts文件中,我有:
this.http.get(`/rest/getmenu`)
.map(res => res.json())
.subscribe(res => {
this.menus = res;
console.log(this.menus);
},
err => {
console.log(err);
this.error = err;
}
);
在config.xml中我添加了:
<allow-navigation href="*" />
当我从“离子发球”开始时,一切都还可以,但是当我在emualtor上运行时,我有错误。当我在Chrome上调试时,我看到错误:
无法加载资源:net :: ERR_FILE_NOT_FOUND file:/// rest / getmenu
如何解决?
我已经安装了cordova-plugin-whitelist(cordova-plugin-whitelist 1.2.3-dev“Whitelist”)。 我的config.xml:
<?xml version='1.0' encoding='utf-8'?>
<widget id="io.ionic.starter" version="0.0.1" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
<name>V2 Test</name>
<description>An Ionic Framework and Cordova project.</description>
<author email="hi@ionicframework" href="http://ionicframework.com/">Ionic Framework Team</author>
<content src="index.html" />
<access origin="*" />
<allow-navigation href="*" />
<allow-intent href="http://*/*" />
<allow-intent href="https://*/*" />
<allow-intent href="tel:*" />
<allow-intent href="sms:*" />
<allow-intent href="mailto:*" />
<allow-intent href="geo:*" />
<platform name="android">
<allow-intent href="market:*" />
</platform>
<platform name="ios">
<allow-intent href="itms:*" />
<allow-intent href="itms-apps:*" />
</platform>
<preference name="webviewbounce" value="false" />
<preference name="UIWebViewBounce" value="false" />
<preference name="DisallowOverscroll" value="true" />
<preference name="android-minSdkVersion" value="16" />
<preference name="BackupWebStorage" value="none" />
<feature name="StatusBar">
<param name="ios-package" onload="true" value="CDVStatusBar" />
</feature>
</widget>
离子信息:
Cordova CLI: 4.3.1
Gulp version: CLI version 3.9.0
Gulp local: Local version 3.9.1
Ionic Framework Version: 2.0.0-beta.4
Ionic CLI Version: 2.0.0-beta.25
Ionic App Lib Version: 2.0.0-beta.15
OS: Distributor ID: Ubuntu Description: Ubuntu 14.04.4 LTS
Node Version: v4.0.0
答案 0 :(得分:2)
代理设置仅用于在浏览器中进行测试http://ionicframework.com/docs/cli/test.html。
由于ionic serve
启动了Web服务器,因此它也可以创建代理。部署到手机时,没有Web服务器,只有文件夹中的文件,因此没有代理。您需要直接点击URL或运行您的应用可以访问的自己的代理服务器。