Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/369.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用AngularJS在Android应用程序中进行AJAX调用_Javascript_Android_Ajax_Angularjs_Cordova - Fatal编程技术网

Javascript 使用AngularJS在Android应用程序中进行AJAX调用

Javascript 使用AngularJS在Android应用程序中进行AJAX调用,javascript,android,ajax,angularjs,cordova,Javascript,Android,Ajax,Angularjs,Cordova,我正在使用Cordova与AngularJS构建一个Android应用程序。 启动时,我试图从node.js服务器获取对象列表, 它在本地主机的10.0.0.7:3000当前IP上运行 $http.get('http://10.0.0.7:3000/items').success(function(data){ list.items = data; }).error(function(){ alert('error'); }); 当我启动应用程序时,警报窗口会弹出两次,不知道为

我正在使用Cordova与AngularJS构建一个Android应用程序。 启动时,我试图从node.js服务器获取对象列表, 它在本地主机的10.0.0.7:3000当前IP上运行

$http.get('http://10.0.0.7:3000/items').success(function(data){
    list.items = data;
}).error(function(){
    alert('error');
});
当我启动应用程序时,警报窗口会弹出两次,不知道为什么会弹出两次。 但如果我在安卓手机的浏览器中尝试同样的方法,效果会非常好。 所以我认为CORS设置会有问题。我找到了一篇有答案的帖子。因此,我将配置更改为:

app.config(['$routeProvider', '$httpProvider',
    function($routeProvider, $httpProvider){

        $httpProvider.defaults.useXDomain = true;
        delete $httpProvider.defaults.headers.common['X-Requested-With'];
我还找到了另一种可能的解决方案,config.xml文件中的应更改为origin=*。嗯,这是默认设置的

我找不到任何其他解决这个问题的方法,因为这两个步骤总能解决这个问题。然而,在我的情况下,尝试这些解决方案没有任何改变


关于如何解决这个问题还有其他想法吗?

api实际上被调用了两次吗?我没有调用两次,但我想这是一个角度的问题,就像它在启动时和在html文件中使用控制器时执行控制器中的代码一样。我真正的意思是检查浏览器控制台,看看是否有两个api调用它称为twice都是http GET?我认为最好创建一个plunker来帮助诊断问题