Javascript can';登录后无法获取和检索用户数据
我是angular的新手,我基本上是通过angular服务设置和获取用户数据。我要做的第一件事是,当我登录时,我连接到我的节点路由,并返回数据,如果用户输入了正确的数据进行登录。有了这些数据,我想设置属性并将所有对象传递给服务。在我的loginController中,每个页面都通过一个名为mainCTRL的全局控制器进行控制。当我到达那里时,我观察服务中是否设置了用户属性。如果是,我认为它,如果不是,没有用户登录 代码如下:Javascript can';登录后无法获取和检索用户数据,javascript,angularjs,node.js,angular-services,Javascript,Angularjs,Node.js,Angular Services,我是angular的新手,我基本上是通过angular服务设置和获取用户数据。我要做的第一件事是,当我登录时,我连接到我的节点路由,并返回数据,如果用户输入了正确的数据进行登录。有了这些数据,我想设置属性并将所有对象传递给服务。在我的loginController中,每个页面都通过一个名为mainCTRL的全局控制器进行控制。当我到达那里时,我观察服务中是否设置了用户属性。如果是,我认为它,如果不是,没有用户登录 代码如下: app.controller('MainCtrl', function
app.controller('MainCtrl', function ($scope, $state,$location,$http,user) {
$scope.user.nome = "";
$scope.showRegister = function () {
$state.go('register');
}
if(angular.equals(user.getProperty(), {})){
$scope.user.nome = "";
}
else {
var userProfile = user.getProperty();
console.log(userProfile);
$scope.user.nome = userProfile.nome;
}
console.log(user.getProperty());
$scope.user = user.getProperty();
$scope.showLogin = function () {
$state.go('login');
}
});
app.controller('loginController', function ($scope, $http, $state,user) {
$scope.login = function () {
var data = {};
data.password = $scope.loja.password;
data.email = $scope.loja.email;
$http.post('http://localhost:8080/login/',data)
.success(function (data) {
console.log(data);
//user.setProperty(JSON.parse(data));
$state.go('home');
})
.error(function (statusText) {
console.log("failed");
});
}
});
我在成功登录时有控制台日志。它检索一个对象,我想将该对象传递给服务,并在角度视图中检索我想要的属性。问题是,我每次都会遇到此错误:
angular.js:9509 TypeError: Cannot set property 'nome' of undefined
at new <anonymous> (controller.js:60)
at invoke (angular.js:3762)
at Object.instantiate (angular.js:3773)
at angular.js:6884
at angular.js:6270
at forEach (angular.js:329)
at nodeLinkFn (angular.js:6257)
at compositeLinkFn (angular.js:5722)
at compositeLinkFn (angular.js:5725)
at compositeLinkFn (angular.js:5725)
angular.js:9509 TypeError:无法设置未定义的属性“nome”
新建时(controller.js:60)
调用时(angular.js:3762)
在Object.instantiate(angular.js:3773)
在angular.js:6884
在angular.js:6270
在forEach(angular.js:329)
在nodeLinkFn(angular.js:6257)
在复合线kfn处(angular.js:5722)
在复合线kfn处(角度js:5725)
在复合线kfn处(角度js:5725)
当前您正在尝试设置用户
对象的属性nome
。在设置对象的nome
属性之前,应该首先初始化user
对象
$scope.user = {}; //add this at first line
//OR
//$scope.user = {
// nome: ""
//};
当前您正在尝试设置
user
对象的属性nome
。在设置对象的nome
属性之前,应该首先初始化user
对象
$scope.user = {}; //add this at first line
//OR
//$scope.user = {
// nome: ""
//};
这解决了我的部分问题,谢谢你,朋友,但是现在当我做{{user.nome}时,我总是在视图端得到一个空字符串,这解决了我的部分问题,谢谢你,朋友,但是现在当我做{{user.nome}时,我总是在视图端得到一个空字符串