模拟离子应用程序时无法使用 http 服务连接到服务器 [英] Cannot connect to server using http service when emulating ionic application

查看:30
本文介绍了模拟离子应用程序时无法使用 http 服务连接到服务器的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我已经构建了一个简单的 ionic 应用程序来测试我的 api.但是我遇到了问题,因为当我在实时重新加载模式(-l 选项)下运行它时,一切正常(离子运行 ios -l).但是当我没有使用 live-reload (ionic run ios) 时,我的应用程序似乎出错了.我无法调试我的应用程序出错的地方,因为这需要实时重新加载选项,而不会发生错误.

I have built a simple ionic app to test my api. But I ran into problem because when I run it in live-reload mode (-l option) everything works just fine (ionic run ios -l). But when I did not use live-reload (ionic run ios), it is seems that my app got an error. I cannot debug where my apps went wrong because that require live-reload option which an error won't occur.

我已经多次重新安装白名单插件.我将以下行添加到小部件区域内的 config.xml 中.

I have reinstall the whitelist plugins several times. I added the below line into my config.xml inside widget zone.

<access origin="*"/>
<allow-intent href="*"/>
<allow-navigation href="*"/>

以及我的 index.html 中的以下行

and also the below line in inside my index.html

<meta http-equiv="Content-Security-Policy" content="default-src *; style-src &apos;self&apos; &apos;unsafe-inline&apos;; script-src &apos;self&apos; &apos;unsafe-inline&apos; &apos;unsafe-eval&apos;">

这是我的控制器代码

var url="/api/event/new"

.controller('Test', function($http, $scope) {
    $http.get(url).then(function(data) {
        $scope.allEvents = {
            all : function() {
                return data.data;
            },
            remove: function(Events) {
                data.data.splice(data.data.indexOf(Events), 1);
            },
            get : function(_id) {
                for (var x in data.data) {
                    if(data.data[i]._id == _id) {
                        return data.data[i];
                    }
                }
                return null;
            }
        };
        $scope.isNotConnected = false;
    }, function(error) {
        $scope.allEvents = {
            all : function() {
                return [{"title" : "Connection error!"}];
            }
        }
        $scope.isNotConnected = true;
        console.log(error);
    });
})

这是我的离子信息

Cordova CLI: 6.1.1
Ionic Framework Version: 1.3.1
Ionic CLI Version: 1.7.15
Ionic App Lib Version: 0.7.2
ios-deploy version: 1.8.6 
ios-sim version: 5.0.8 
OS: Mac OS X El Capitan
Node Version: v5.9.1
Xcode version: Xcode 7.3 Build version 7D175 

推荐答案

使用远程调试 - iOS 和 Safari

您可以避免使用实时重新加载并使用 safari 调试来查看问题所在.

Use Remote Debugging - iOS and Safari

you can avoid using live reload and use safari debugging to see what's going wrong.

Safari 可用于在连接的 iOS 设备上调试 Ionic 应用程序.首先,我们需要在连接的设备上启用 Web Inspector.网络可以在设置">Safari">高级"下找到检查器.接下来,头转到 Mac 上的 Safari 并启用在菜单中显示开发菜单Safari > 首选项 > 高级下的栏.连接的设备应该现在出现在开发"菜单中.从那里,您可以检查它并使用Safari 用于调试应用程序的开发人员工具!

Safari can be used to debug an Ionic app on a connected iOS device. First, we need to enable Web Inspector on the connected device. Web Inspector can be found under Settings > Safari > Advanced. Next, head over to the Safari on your Mac and enable Show Develop menu in menu bar under Safari > Preferences > Advanced. The connected device should now appear in the Develop menu. From there, you can inspect it and use Safari's developer tools to debug your application!

来源:http://ionicframework.com/docs/cli/run.html

这篇关于模拟离子应用程序时无法使用 http 服务连接到服务器的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆