Javascript ng click未使用factory类触发
我是新来安格拉斯的。输入用户名和密码并单击“登录”按钮后,以下代码不会执行。登录应该执行登录方法并填充person数据绑定对象。有人知道他为什么不开枪吗?谢谢 工厂文件Javascript ng click未使用factory类触发,javascript,angularjs,factory,Javascript,Angularjs,Factory,我是新来安格拉斯的。输入用户名和密码并单击“登录”按钮后,以下代码不会执行。登录应该执行登录方法并填充person数据绑定对象。有人知道他为什么不开枪吗?谢谢 工厂文件 'use strict'; var usermodule = angular.module('retrieveBasicUserInfo', []) .factory('basicUserInfo', function($http) { var credentials = { username: ''
'use strict';
var usermodule = angular.module('retrieveBasicUserInfo', [])
.factory('basicUserInfo', function($http) {
var credentials = {
username: '',
password: ''
};
var person = "";
$http.defaults.useXDomain = true;
var getBasicUserInfo = function (credentials) {
var inputdata = { "Logon": credentials.username, "Pass": credentials.password};
$http.post('http://localhost:23034/api/wmsusers/login',JSON.stringify(inputdata),
{
headers: {
'Access-Control-Allow-Origin' : '*',
'Access-Control-Allow-Methods' : 'POST, GET, OPTIONS, PUT',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
}).success(function (inputdata) {
person = inputdata[0];
});
};
return {
person: getBasicUserInfo
};
});
JavaScript文件
'use strict';
var usermodule = angular.module('wms', ['retrieveBasicUserInfo'])
.controller('userAuthentication', ['basicUserInfo', function ($scope, basicUserInfo) {
$scope.credentials = {
username: '',
password: ''
};
$scope.login = function (credentials) {
console.log(credentials)
$scope.person = basicUserInfo.getBasicUserInfo(credentials);
}
}]);
HTML文件
<div data-ng-controller="userAuthentication">
<div class="login-panel">
<p>Please complete the following form and click Login to continue:</p>
<form name="loginForm" data-ng-submit="login(credentials)" novalidate>
<label for="username">Username:</label>
<input type="text" id="username"
data-ng-model="credentials.username">
<label for="password">Password:</label>
<input type="password" id="password"
data-ng-model="credentials.password">
<button type="submit">Login</button>
</form>
</div>
<br>
<ul data-ng-model="$parent.person">
<li>Name: {{person.Name}}</li>
<li>Associate Id: {{person.Empid}}</li>
<li>Access Level: {{person.Access}}</li>
</ul>
请填写以下表格,然后单击“登录”继续:
用户名:
密码:
登录
- 姓名:{{person.Name}
- 关联Id:{{person.Empid}
- 访问级别:{{person.Access}
请看这里
工厂返回具有person属性的对象,并且在控制器中尝试访问getBasicUserInfo,以便将person转换为getBasicUserInfo。您在控制器定义中遗漏了$scope
改变这个
return {
person: getBasicUserInfo
};
到
及
) 多谢各位。在你的帮助下,它工作得非常好。
return {
getBasicUserInfo: getBasicUserInfo
};
var usermodule = angular.module('wms', ['retrieveBasicUserInfo'])
//and you missed $scope in line bellow after bracket
.controller('userAuthentication', ['$scope','basicUserInfo', function ($scope, basicUserInfo) {
$scope.credentials = {
username: '',
password: ''
};
$scope.login = function (credentials) {
console.log(credentials)
$scope.person = basicUserInfo.getBasicUserInfo(credentials);
}
}])