我目前正在使用Firebase日誌系統使用AngularJS製作的應用程序。當我嘗試登錄時,我有一個奇怪的重定向 - 無論記錄是否成功,它都會因爲某種原因重定向到註冊頁面。如果警報顯示出來,則顯示在註冊頁面上。 試圖刪除註冊頁面的路線 - 沒有運氣。嘗試刪除OnAuthStateChanged觸發時發生的操作 - 仍然重定向。試圖調試應用程序 - 它似乎功能AngularJS中的奇怪重定向
for (var i = 0; i < eventFnsLength; i++) {
if (!event.isImmediatePropagationStopped()) {
handlerWrapper(element, event, eventFns[i]);
}
}
在angular.js符合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錯誤,因爲驗證失敗。但我沒有看到任何重定向 –