Gur*_*rao 7 android ionic-framework ionic
我正在尝试实现http://ccoenraets.github.io/ionic-tutorial/install-ionic.html上提供的Ionic示例教程.
我能够在Android虚拟设备上部署示例应用程序.但是,该应用程序无法访问笔记本电脑上托管的REST服务.我试图通过将"localhost"更改为"10.0.2.2"来访问该服务.我还在config.xml中添加了以下内容
<access origin="*"/>
有人可以告诉我如何解决这个问题吗?
如果您使用的是最新版本的cordova,则必须安装cordova插件白名单:
cordova plugin add cordova-plugin-whitelist
Run Code Online (Sandbox Code Playgroud)
如果您使用该选项--save,它将在您的config.xml文件中添加一个部分:
cordova plugin add cordova-plugin-whitelist --save
Run Code Online (Sandbox Code Playgroud)
您可以在此处阅读有关最近cordova更新中重要更改的一些有用信息.
你需要这个:
<access origin="*" />
Run Code Online (Sandbox Code Playgroud)
在config.xml文件中设置.
如果您使用的是Android模拟器,你必须改变localhost的10.0.2.2,当然,你要添加端口如果是从默认的不同:80.
参考这里.
如果您正在使用Genymotion(比Android模拟器好得多),则IP地址将是:10.0.3.2+端口号.
样品
Android模拟器:http :
//10.0.2.2 : 6050/api/checkstatus Genymotion:http://10.0.3.2:6050/api/checkstatus
如果你想为android模拟器安装调试信息,请从命令行运行:
adb -s emulator-5554 logcat
Run Code Online (Sandbox Code Playgroud)
如果您在IIS Express中运行Web服务器,则您的请求可能无法到达主机.这里有一些选择.我最喜欢的解决方案是使用iisexpress-proxy.
您可以将其安装为npm包:
npm install -g iisexpress-proxy
Run Code Online (Sandbox Code Playgroud)
并运行它指定代理端口:
iisexpress-proxy 6050 to 3000
Run Code Online (Sandbox Code Playgroud)
现在您可以为模拟器更改端口:
Android模拟器:http :
//10.0.2.2 : 3000/api/checkstatus Genymotion:http : //10.0.3.2 : 3000/api/checkstatus
可能最好的解决方案是使用真正的Android设备并使用chrome inspect调试您的应用程序.
你必须:
一旦您的设备显示在列表中,您可以点击F12并查看您在浏览器控制台中获得的错误类型.
您甚至可以将端口转发转发请求用于内部服务器; 基本上,您可以通过您要定义的虚拟端口访问笔记本电脑上的托管服务.
| 归档时间: |
|
| 查看次数: |
5787 次 |
| 最近记录: |