【问题标题】:How to send GET request to Web-Api using Angularjs and PhoneGap?如何使用 Angularjs 和 PhoneGap 向 Web-Api 发送 GET 请求?
【发布时间】:2014-03-04 01:55:59
【问题描述】:

我是 Angularjs 和 PhoneGap 的新手。我正在尝试使用 Angularjs 和 PhoneGap 向我的 Web-Api 2 项目发送获取请求,但出现错误。它适用于每个浏览器。

我的代码是:

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

错误:

我的 web-Api 2 支持 Cross。

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

我正在使用:

  • Visual Studio 2013 Ultimate with 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:

更多关于我的错误。

更新 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>

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

我使用 PhoneGap 2.9.1 并为 windows phone 8 构建它

【问题讨论】:

  • 能否请您发布错误消息?
  • 或许可以尝试使用 Fiddler
  • @Atropo 我更新错误消息。
  • @EdmundYeung99 Fiddler 什么也抓不到。
  • 你在config.xml中配置了access-origin吗?

标签: javascript angularjs cordova asp.net-web-api


【解决方案1】:

您是否将config.xml 文件配置为将您的域列入白名单?这是access tagconfig.xml 的文档

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-01-14
  • 1970-01-01
  • 2023-03-18
  • 1970-01-01
  • 2016-05-12
相关资源
最近更新 更多