简体   繁体   English

如何使用Angularjs和PhoneGap将GET请求发送到Web-Api?

[英]How to send GET request to Web-Api using Angularjs and PhoneGap?

I am new in Angularjs and PhoneGap. 我是Angularjs和PhoneGap的新手。 I am trying to send a get request to my Web-Api 2 project using Angularjs and PhoneGap but i getting an error. 我正在尝试使用Angularjs和PhoneGap向我的Web-Api 2项目发送获取请求,但出现错误。 It is working in each browser. 它在每个浏览器中都有效。

My Code is : 我的代码是:

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');
      });
  };
}]);

Error : 错误:

在此处输入图片说明

My web-Api 2 support Cross. 我的web-Api 2支持Cross。

it will return JSON format result and it will be ["value1","value2"] but i get an error. 它会返回JSON格式的结果,并且将是["value1","value2"]但出现错误。

I am using : 我在用 :

  • Visual Studio 2013 ultimate with windows Phone 8 SDK 带有Windows Phone 8 SDK的Visual Studio 2013 Ultimate
  • Angularjs 1.2.14 AngularJS 1.2.14
  • PhoneGap 2.9.1 PhoneGap 2.9.1

Update 1 : 更新1:

I put those lines : 我把这些行:

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

Output is : 输出为:

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

Update 2 : 更新2: 在此处输入图片说明

More about my error. 有关我的错误的更多信息。

Update 3 : 更新3:

my Index.html : 我的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>

My App.js is : 我的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 is : Login.Html是:

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

My solution Explorer is: 我的解决方案资源管理器是:

在此处输入图片说明

I use PhoneGap 2.9.1 and build it for windows phone 8 我使用PhoneGap 2.9.1并将其构建用于Windows Phone 8

Did you configured the config.xml file to whitelist your domain? 您是否已将config.xml文件配置为将您的域列入白名单? Here there's the documentation on the access tag for the config.xml 这是config.xml访问标签上的文档

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM