无论我做什么,我都无法从我的工厂重定向工作。我也试过控制器,但一直在抛出错误。 TypeError: Cannot read property 'model.Email' of undefined
我知道帖子很成功我可以看到200并且它完美更新。这就是我所拥有的:
工厂功能显示我注射的内容:
app.factory('accountFactory', function ($http, $q, $cookieStore, $location)
我的工厂:
factory.register = function (data) {
return $http.post(urlBase + '/Register', data).then(function(response) {
if (typeof response.data === "object") {
$location.path('/login');
return response.data;
} else {
return $q.reject(response.data);
}
}, function(response) {
return $q.reject(response.data);
});
};
控制器:
app.controller('accountCtrl', function ($scope, accountFactory) {
$scope.hello = 'hello';
$scope.registerUser = function () {
var data = {
"Email": $scope.email,
"Password": $scope.password,
"ConfirmPassword": $scope.confirmpass
};
accountFactory.register(data).then(function(data) {
$scope.message = 'Successfully Created User!';
}, function (error) {
$scope.message = error.Message;
// Invalid Email
if (error['ModelState']['model.Email'])
$scope.errorEmail = error['ModelState']['model.Email'][0];
else
$scope.errorEmail = null;
// Invalid Pass / Confirm
if (error['ModelState']['model.Password'])
$scope.errorPassword = error['ModelState']['model.Password'][0];
else if (error['ModelState']['model.ConfirmPassword'])
$scope.errorPassword = error['ModelState']['model.ConfirmPassword'][0];
else if (error['ModelState'][''])
$scope.errorPassword = error['ModelState'][''][0];
else
$scope.errorPassword = null;
});
};
})
如果我删除当然的位置一切都很完美。当我添加位置时,我得到了上面提到的错误。我相信这与承诺有关,但我不确定是什么。
答案 0 :(得分:1)
你需要解决这个承诺。
factory.register = function (data) {
return $http.post(urlBase + '/Register', data).then(function(response) {
if (typeof response.data === "object") {
$location.path('/login');
return $q.resolve(response.data);
} else {
return $q.reject(response.data);
}
}, function(response) {
return $q.reject(response.data);
});
};