2014-03-03 62 views
1

我是Angularjs和PhoneGap中的新成员。我正尝试使用Angularjs和PhoneGap向我的Web-Api 2项目发送获取请求,但出现错误。它在每个浏览器中工作。如何使用Angularjs和PhoneGap将GET请求发送到Web-Api?

我的代码是:

taxiConceptControllers.controller('loginCtrl', ['$scope', '$routeParams', 'loginService', '$http', 
function ($scope, $routeParams, loginService, $http) { 
    $scope.loginProvider = loginService.url; 
    $scope.intLoginProvider = function() { 
     console.log("call"); 
     $http({ 
      headers: { 
       'Content-Type': 'application/x-www-form-urlencoded' 
      }, 
      method: "GET", 
      url: 'http://localhost:15229/api/values', 
     }).success(function (userData) { 
      console.log(userData); 
     }).error(function (data, status, headers, config) { 
      console.log('error'); 
     }); 
    }; 
}]); 

错误:

enter image description here

我的网站的API支持2跨。

它将返回JSON格式的结果,它将是["value1","value2"]但我得到一个错误。

我使用:

  • 的Visual Studio 2013最终随着Windows Phone 8 SDK
  • Angularjs 1.2.14
  • 的PhoneGap 2.9.1

更新1:

我把这些行:

 console.log(status); 
    console.log(headers); 
    console.log(config); 

输出是:

 404 
     function(c){a||(a=nc(b));return c?a[O(c)]||null:a} 
[object Object] 

更新2:enter image description here

更多关于我的错误。

更新3:

我的index.html:

<!DOCTYPE html> 
    <html lang="en" ng-app="taxiConceptApp"> 
    <head> 
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 
     <meta name="format-detection" content="telephone=no" /> 
     <meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width, height=device-height, target-densitydpi=device-dpi" /> 
     <link rel="stylesheet" type="text/css" href="css/index.css" /> 
     <link href="css/bootstrap.min.css" type="text/css" rel="stylesheet" /> 
     <link href="css/bootstrap-theme.min.css" type="text/css" rel="stylesheet" /> 
     <link href="css/app.css" rel="stylesheet" /> 
     <title>Hello World</title> 


    </head> 
    <body> 

    <div id="contnr" ng-view> 
    </div> 

    <script type="text/javascript" src="cordova.js"></script> 
    <script type="text/javascript" src="js/index.js"></script> 
    <script type="text/javascript"> 
     app.initialize(); 
    </script> 

    <script type="text/javascript" src="js/jquery-2.1.0.min.js"></script> 
    <script type="text/javascript" src="js/bootstrap.min.js"></script> 
    <script type="text/javascript" src="js/angular.min.js"></script> 
    <script src="js/angular-route.js"></script> 



    <script src="js/app.js"></script> 

    <script src="js/service/appservice.js"></script> 
    <script src="js/service/loginservice.js"></script> 

    <script src="js/controllers/loginctrl.js"></script> 
</body> 

</html> 

我App.js是:

var taxiConceptControllers = angular.module('taxiConceptControllers', []); 

var taxiConceptApp = angular.module('taxiConceptApp', [ 
    'ngRoute', 
    'taxiConceptControllers' 
]); 

var onDeviceReady = function() { 
    angular.bootstrap(document, ['taxiConceptApp']); 
}; 
document.addEventListener('deviceready', 
onDeviceReady); 

taxiConceptApp.config(['$routeProvider', 
    function ($routeProvider) { 
     $routeProvider. 
     when('/Login', { 
      templateUrl: 'Templates/login.html', 
      controller: 'loginCtrl' 
     }). 
     when('/phones/:phoneId', { 
      templateUrl: 'partials/phone-detail.html', 
      controller: 'PhoneDetailCtrl' 
     }). 
     otherwise({ 
      redirectTo: '/Login' 
     }); 
    }]); 

login.html的是:

<div ng-controller="loginCtrl" ng-init="intLoginProvider()"> 
    <h1>asdasads</h1> 
    {{loginProvider}} 
</div> 

我的解决方案资源管理器:

enter image description here

我使用的PhoneGap 2.9.1,并建立它的Windows Phone 8

+0

您能否发布错误信息? – Atropo

+0

也许尝试使用Fiddler – EdmundYeung99

+0

@Atropo I更新错误消息。 –

回答

0

你有没有配置​​3210文件添加到白名单域?这里有关于access tag的文档config.xml

+0

在我的config.xml中:访问标记是

+0

根据这个http://stackoverflow.com/questions/21559188/phonegap-angularjs-app-restangular-404-你需要配置一个域名白名单 – EdmundYeung99