我正在使用Cordova使用AngularJS构建Android应用程序。 在启动时,我试图从node.js服务器获取对象列表, 它运行在10.0.0.7:3000(我的localhost的当前IP)。
$http.get('http://10.0.0.7:3000/items').success(function(data){
list.items = data;
}).error(function(){
alert('error');
});
当我启动应用程序时,警报窗口弹出两次(不知道为什么两次)。 但如果我在Android手机的浏览器中尝试相同的功能,它的效果非常好。 所以我认为CORS-Settings会出现问题。我找到了一个帖子(Make AJAX call in AngularJS in Cordova App),有一些回答。所以我将配置更改为:
app.config(['$routeProvider', '$httpProvider',
function($routeProvider, $httpProvider){
$httpProvider.defaults.useXDomain = true;
delete $httpProvider.defaults.headers.common['X-Requested-With'];
我还找到了另一种可能的解决方案,其中config.xml文件中的<access origin="*" />
应更改为origin="*"
。嗯,这已经默认设置了。
我找不到任何其他解决方案,因为这两个步骤总是修复它。然而,在我的情况下,尝试这些解决方案没有任何改变。
有关如何解决此问题的其他任何想法?