【发布时间】: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