如果用户通过表单验证(根据数据库值检查用户名和密码),我会尝试重新指导用户。
验证工作正常但在我的.Success函数中,重定向似乎不起作用,它会产生错误:' ReferenceError:$ window未定义'。
以下是代码:
.success(function(data) {
console.log(data);
if (!data.success) {
// if not successful, bind errors to error variables
$scope.errorUserName = data.errors.userName;
$scope.errorUserPassword = data.errors.userPassword;
} else {
// if successful, bind success message to message
$scope.message = data.message;
$window.location=('twitter.com');
}
});
我尝试过更改位置路径,但似乎没有任何工作。有什么想法吗?
谢谢!
LazyTotoro
答案 0 :(得分:45)
$window
需要注入。
要注入它,只需将其作为参数添加到控制器功能中,Angular将自动处理其余部分。
例如:
app.controller('MyController', function MyController($scope, $window) {
$window.location = 'http://stackoverflow.com'
});
您可以在AngularJS here中阅读有关依赖注入的更多信息。
如果您不需要重新加载整页,则应该注入并使用$location:
// get the current path
$location.path();
// change the path
$location.path('/newValue');