我对Angular很陌生,试图对一个简单的Rest服务调用一个简单的“Hello World”webservice调用,当我点击它时,我已经验证返回“Hello World”。
我有3个警报的方法。我看到“In method”警报,然后看不到任何其他警报。我附加了提琴手,Web服务请求从未制作过。我必须在这里忽略一些基本的东西,我会认为....关于我可能错过了什么的任何想法?
Fiddler显示Web服务调用成功,我可以看到来自Web服务的结果,但我使用Chrome的开发人员工具显示,对服务的调用正在被Angular内部的某些东西取消。
在此先感谢您提供的任何帮助。
(function() {
var app = angular.module("loginApp", ['ngResource'])
.config(function ($httpProvider) {
// Enable CORS
$httpProvider.defaults.useXDomain = true;
delete $httpProvider.defaults.headers.common['X-Requested-With'];
});
app.controller('LoginController', function ($scope, $http) {
this.loginImage = "images/ActiveView_ContentMgm_140x40.png";
this.loginUser = function() {
var token = "";
var loginUrl = "http://ten1.com/services/rest/demoservice.svc/Login";
delete $http.defaults.headers.common['X-Requested-With'];
var result = $http({ method: 'GET', url: loginUrl, params: { userName: this.userName, passWord: this.passWord } })
.success(function (data, status) {
$scope.status = status;
$scope.data = data;
})
.error(function (data, status) {
$scope.data = data || "Request failed";
$scope.status = status;
});
token = data.Token;
};
});
})(); 更新:
现在我点击登录表单上的提交按钮,只是试图找回一个字符串,所以我可以验证与Web服务的基本通信。我的目标是传递用户名/密码并取回令牌。这里的形式:
<form ng-submit="loginCtrl.loginUser()" novalidate>
<div class="form-group">
<label for="exampleInputEmail1">Username</label>
<input type="text" class="form-control" style="border-radius:0px" ng-model="loginCtrl.loginForm.userName" placeholder="Enter username">
</div>
<div class="form-group">
<label for="exampleInputPassword1">Password </label>
<input type="password" class="form-control" style="border-radius:0px" ng-model="loginCtrl.loginForm.passWord" placeholder="Password">
</div>
<button type="submit" class="btn btn-sm btn-default">Log in</button>
你做跨域GET请求?也许看看这里:http://stackoverflow.com/questions/16085700/angularjs-http-get-is-getting-cancelled – pixelbits
我检查了这篇文章,显然是我使用的角(1.2.17)版本不再支持$ httpProvider ....调用仍然被角度的东西取消,但实际的Web服务请求仍在工作 –