我对Angular很新,我试着制作一个简单的“Hello World" webservice调用我已验证的简单Rest Web服务返回" Hello World"当你点击它。
我在方法中有3个警报。我看到" In方法"提醒,然后看不到任何其他提醒。我附上了小提琴手,从未提出过网络服务请求。我必须在这里忽略一些基本的东西,我会想到......关于我可能缺少什么的想法?
Fiddler显示网络服务调用成功,我可以看到我期望的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>
答案 0 :(得分:2)
将$ scope和$ http注入您的控制器,而不是loginUser()
函数:
app.controller('LoginController', function ($scope, $http) {
答案 1 :(得分:0)
我发现我正在接受的服务是返回&#34; No&#39; Access-Control-Allow-Origin&#39; &#34;消息将允许服务完成但会导致Angular短路。我通过添加&#34; Access-Control-Allow-Origin&#34;来解决这个问题。到服务中的Response标头。
链接:
Cross Origin Resource Sharing for c# WCF Restful web service hosted as Windows service
"Access-Control-Allow-Origin:*" has no influence in REST Web Service