某些javascript代码调用URL并对结果使用promise函数。这是我插入空白Ionic / Cordova应用程序的特定离子工厂代码(来自this blog by Andrew McGivery的教程)..
.factory('userService', function ($http) {
return {
getUsers: function () {
return $http.get('https://randomuser.me/api/?results=10').then(function (response) {
return response.data.results;
});
}
}
});
不幸的是,代码在作为Android设备调试时返回404并且
APPHOST9623: The app couldn’t resolve ms-appx-web://com.ionicframework.ionicblankapp/www/{{item.user.picture.thumbnail}} because of this error: DATA_NOT_AVAILABLE.
在Windows模拟器中进行调试时。我可以在任何外部浏览器中访问该URL并查看json结果。如果我按住Ctrl键并单击VS编辑器中的URL,则内部浏览器显示“导航到网页已取消”,并出现“文件下载”警告对话框,询问我是否要打开或保存api.json结果。
我将此CSP添加到index.html <head>
,希望我的问题在于Cordova拒绝连接
<meta http-equiv="Content-Security-Policy" content="default-src 'self' data: gap: http://api.openweathermap.org https://ssl.gstatic.com 'unsafe-eval'; style-src 'self' 'unsafe-inline'; media-src *">
并关闭我的防火墙。一切都无济于事。我发现一些相关问题似乎与更新IIS的web.config有关,但我不确定这与在Chrome中运行的Android调试器有什么关系。
我是Cordova和Ionic的新手,所以请原谅我,如果这是一个真正的菜鸟问题。