私は現在、Firebaseロギングシステムを使用してAngularJSで作成されたアプリケーションに取り組んでいます。私はログインしようとすると奇妙なリダイレクトを持っています - ロギングが成功したかどうかにかかわらず何らかの理由で登録ページにリダイレクトされます。警報が表示された場合は、登録ページに表示されます。 登録するルートを削除しようとしました。運がよかったです。 OnAuthStateChangedがトリガされたときに発生したアクションを削除しようとしましたが、まだリダイレクトされています。アプリをデバッグしようとした - 私は見当がつかない機能ラインでangular.jsでAngularJSの奇妙なリダイレクト
for (var i = 0; i < eventFnsLength; i++) {
if (!event.isImmediatePropagationStopped()) {
handlerWrapper(element, event, eventFns[i]);
}
}
3532の原因はどのようにそれを停止にするようです。
SignInCtrl.js
angular.module('szybkiePisanie')
.controller('SignInCtrl', ["$scope", "$firebaseAuth", function ($scope, $firebaseAuth) {
$scope.SignIn = function (event) {
if ($scope.user.email != undefined) var email = $scope.user.email; else { alert("Wpisz adres e-mail"); return; }
if ($scope.user.password != undefined) var password = $scope.user.password; else { alert("Wpisz hasło"); return; }
firebase.auth().signInWithEmailAndPassword(email, password).catch(function (error) {
var errorCode = error.code;
var errorMessage = error.message;
if (email.length < 4) {
alert('Proszę wpisać adres email.');
return;
}
if (password.length < 4) {
alert('Proszę wpisać hasło.');
return;
}
;
if (errorCode === 'auth/wrong-password') {
alert('Błędne hasło.');
}
else if (errorCode === 'auth/invalid-email') {
alert('Nieprawidłowy adres email');
}
else if (errorCode === 'auth/user-disabled') {
alert('Użytkownik zablokowany');
}
else if (errorCode) {
alert(errorMessage);
}
})
}
}]);
RegisterCtrl.js
angular.module('szybkiePisanie')
.controller('RegisterCtrl', ["$scope", "$firebaseAuth", function ($scope, $firebaseAuth) {
$scope.Register = function (event) {
if ($scope.user.email != undefined) var email = $scope.user.email; else { alert("Wpisz mejl"); return; }
if ($scope.user.password != undefined) var password = $scope.user.password; else { alert("Wpisz haslo"); return; }
firebase.auth().createUserWithEmailAndPassword(email, password).catch(function (error) {
var errorCode = error.code;
var errorMessage = error.message;
if (email.length < 4) {
alert('Please enter an email address.');
return;
}
if (password.length < 4) {
alert('Please enter a password.');
return;
}
})
}
}]);
script.js(ルーティング)
angular.module('szybkiePisanie', ['ngRoute', 'firebase'])
.config(['$routeProvider',
function ($routeProvider) {
$routeProvider
.when('/home', {
templateUrl: 'Home/home.html',
controller: 'HomeCtrl'
})
.when('/practice', {
templateUrl: 'Practice/practice.html',
controller: 'PracticeCtrl'
})
.when('/signin', {
templateUrl: 'SignIn/signin.html',
controller: 'SignInCtrl'
})
.when('/profile', {
templateUrl: 'Profile/profile.html',
controller: 'ProfileCtrl'
})
.when('/register', {
templateUrl: 'Register/register.html',
controller: 'RegisterCtrl'
})
.otherwise({
redirectTo: '/home'
})
}]);
編集:。 リダイレクトのみで歌っによって引き起こされませんで実際にはボタンやドロップダウンによって私のアプリは '/ singin'から '/ register'にリダイレクトされます。奇妙な。
これを再現できるフィドルを提供できますか? –
https://plnkr.co/edit/6E8u51cQRboz6yrJv9EU?p=preview –
リダイレクトを再現できません。私は有効な電子メールパスがないので、私はどのパスワードテキストでも有効な電子メールを試しました。認証に失敗したため、400エラーが発生するリクエストは1つしかありません。しかし、私はリダイレクトを見ません –