我是 Angularjs 和 PhoneGap 的新手。我正在尝试使用 Angularjs 和 PhoneGap 向我的 Web-Api 2 项目发送 get 请求,但出现错误。它适用于每个浏览器。
我的代码是:
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"]
但我收到错误。
我正在使用:
- 带有 Windows Phone 8 SDK 的 Visual Studio 2013 Ultimate
- 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 构建它
最佳答案
您是否配置了 config.xml
文件以将您的域列入白名单?这里有关于 access tag 的文档对于 config.xml
关于javascript - 如何使用 Angularjs 和 PhoneGap 向 Web-Api 发送 GET 请求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22152211/