0
これはパス/
にアクセスする際に務めます私のHTML(あるとします。これは、I現れるHTMLページです
<form ng-submit="ctrl.loginUser()" name="myLoginForm">
<div class="form-group">
<label>Username</label>
<input type="text" name="uname" class="form-control" ng-model="ctrl.loginuser.username" required>
</div>
<div class="form-group">
<label>Password</label>
<input type="password" name="pwd" class="form-control" ng-model="ctrl.loginuser.password" required>
</div>
<input type="submit" value="Login">
</form>
アクセス/home
(mainPage.html
):
<h5>TESTTT</h5>
そして、これはフォームが送信されたときに呼び出されるものです:
angular.module("BaseApp", [])
.config(['$httpProvider', function($httpProvider) {
$httpProvider.defaults.xsrfCookieName = 'csrftoken';
$httpProvider.defaults.xsrfHeaderName = 'X-CSRFToken';
}])
.config(['$locationProvider', function($locationProvider){
$locationProvider.html5Mode(true);
}])
self.loginUser = function(loginuser) {
return $http.post("/custom-api-auth/login", loginuser)
.then(function(response) {
$location.url("/home");
});
};
これをテストしてフォームを送信しようとしました。 URLは/home
に変更されますが、URL www.url.com/home
に行くと配信されるページは表示されません。ページは更新されません。
前述のように、私はwww.url.com/home
に行きます。mainPage.html
が実際に表示されます。
URLが/home
にリダイレクトされるようにするために必要な手順はありますか?
ルーティングが設定されていますか? – Phil
@ user2719875:ルーティング設定も追加してください –
@Phil私は私の投稿を編集して詳細を追加しました。タイトルで述べたように、私はページを更新してまったく新しいテンプレートをロードしたいので、AngularJSでルーティングを設定していません。私のバックエンドはPython/Djangoで、 '/ home'というURLにアクセスするときにテンプレートを提供します。 '/ home' URLにアクセスするときのバックエンドのテンプレートは' $ location.url( "/ home") 'が実行されたときに表示したいものです。 – user2719875