登录测试后,我试图进入主页,但我遇到了问题。我使用了$ location.path(" /templates/welcome.html"); 但它不起作用。
我在app.js中的控制器是:
controller('SignInCtrl', function($scope, $state, $http) {
$scope.login = function(user) {
$http.get("http://localhost/app_dev.php/json/login/"+user.username+"/"+user.password)
.then(function(response){
console.log(response.data.status);
if(response.data.status === 200)
{
alert("redirect to main page");
$location.path("/templates/welcome.html");
}else if(response.data.status === 403){
alert("Login or password incorrect");
}else{
alert("User not found");
}
});
};
})
警报正在运行,但重定向不起作用。在控制台中我有这个错误:
ionic.bundle.js:25642 ReferenceError: $location is not defined
at app.js:37
答案 0 :(得分:0)
将$ location注入控制器,如下所示
controller('SignInCtrl', function($scope, $state, $http, $location) {
答案 1 :(得分:0)
您尚未在控制器中注入$ location服务..
答案 2 :(得分:0)
我认为问题来自statProrovider。我的状态是:
.config(function($ stateProvider,$ urlRouterProvider){
$stateProvider
.state('signin', {
url: '/sign-in',
templateUrl: 'templates/welcome.html',
controller: 'SignInCtrl'
})
})
在我的html页面中:
<div ng-controller="SignInCtrl">
<form novalidate class="simple-form">
<div class="list list-inset">
<label class="item item-input">
<input type="text" placeholder="Username" ng-model="user.username">
</label>
<label class="item item-input">
<input type="password" placeholder="Password" ng-model="user.password">
</label>
</div>
<button class="button button-block button-calm" ng-click="login(user)">Login</button>
</form>
我刚刚开始使用Ionic,这就是为什么