私はAngularJSが初めてで、私のアプリケーションをLogin.htmlからHomepage.htmlにリダイレクトしたいと思っています。私は多くのことを読んでいると私はそれを行うための2つの方法を発見:最初のものは$window.location.href
を使用することにあると、それは完全に
が二つ$location.url
または$location.path
を使用して構成されており、それが動作しない動作します
、私の実際のURLにちょうど/homepage.html広告。
どうすればこの問題を解決できますか? ここに私のコードです。
<!DOCTYPE html>
<html>
<head>
<title>Login</title>
<script src= "https://ajax.googleapis.com/ajax/libs/angularjs/1.5.8/angular.min.js"></script>
</head>
<body>
<div ng-app="mainApp" ng-controller="loginController">
<label>Username</label><input type="text" name="username" ng-model="username"><br>
<label>Password</label><input type="password" name="password" ng-model="password"><br>
<button ng-click="login()">Login</button>
<p>{{result}}</p>
</div>
<script>
var mainApp = angular.module("mainApp", []);
mainApp.controller('loginController', ['$scope', '$location', function($scope, $location){
$scope.result = null;
$scope.login = function(){
$scope.result = "Logged in";
$location.path('#/localhost/homepage.html').replace();
$scope.apply();
}
}])
</script>
</body>
</html>
ありがとうございます。それが重要かどうかだ
$location.path('/app/homepage');
同じですが、URLは変わりますが、ページは変わりません。たぶんそれはディレクトリの問題ですか?しかし、私はworngエラーを置く場合は、 "ページが見つかりません"または何か他のエラーメッセージを出すべきではありませんか? – Wallcraft
app.jsでホームページを宣言して正しくログインしていますか? – Antonis
正しい宣言がある場合は、これを試してください:$ timeout(function(){ //上記のコードを追加 }、1); – Antonis