Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用AngularFire和AngularJS登录Firebase后如何重定向到URL?_Javascript_Angularjs_Login_Firebase_Angularfire - Fatal编程技术网

Javascript 使用AngularFire和AngularJS登录Firebase后如何重定向到URL?

Javascript 使用AngularFire和AngularJS登录Firebase后如何重定向到URL?,javascript,angularjs,login,firebase,angularfire,Javascript,Angularjs,Login,Firebase,Angularfire,用户登录后,我希望该网页重定向。我尝试了两种不同的方法来实现这一点: 在重定向url的“$scope.auth.$authWithOAuthPopup'google',AuthHandler”后面添加一行 添加一个AuthHandler,如果成功,则在登录时重定向到其他页面 尽管登录可以正常工作,但由于未知原因,重定向无法正常工作 <html ng-app="app"> <head> <script src="https://ajax.goo

用户登录后,我希望该网页重定向。我尝试了两种不同的方法来实现这一点:

在重定向url的“$scope.auth.$authWithOAuthPopup'google',AuthHandler”后面添加一行 添加一个AuthHandler,如果成功,则在登录时重定向到其他页面 尽管登录可以正常工作,但由于未知原因,重定向无法正常工作

<html ng-app="app">
    <head>
        <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.2/angular.min.js"></script>
        <script src="https://cdn.firebase.com/js/client/2.0.2/firebase.js"></script>
        <script src="https://cdn.firebase.com/libs/angularfire/0.9.0/angularfire.min.js"></script>
        <script src="https://code.jquery.com/jquery-2.1.1.min.js"></script>
        <script src="https://code.jquery.com/ui/1.11.1/jquery-ui.min.js"></script>
        <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js"></script>
        <link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/bootstrap.min.css" rel="stylesheet" type="text/css">
    </head>
<body ng-controller="ctrl">
  <p>Welcome, {{user.google.displayName}}</p>
  <button class="btn btn-lg btn-danger" id="Gbtn" ng-click="GoogleLogin()">
    <i class="fa fa-google-plus-square fa-2x"></i>
    Login with Google</button>  
</body>
</html>
Javascript

<script>
function AuthHandler(error, authData) {
  if (error) {
    console.log("Login Failed!", error);
  } else {
    console.log("Authenticated successfully with payload:", authData);
    window.location.href = "explore.html";
  }
} 

var app = angular.module("app", ["firebase"]);

  app.service("Ref", ["https://crowdfluttr.firebaseio.com/", Firebase]);

  app.factory("Auth", ["$firebaseAuth", "Ref", function($firebaseAuth, Ref) {
    return $firebaseAuth(Ref);
  }]);

  app.controller("ctrl", ["$scope","Auth", function($scope,Auth) {
    $scope.auth = Auth;

    $scope.GoogleLogin = function () {   
      $scope.auth.$authWithOAuthPopup('google',AuthHandler)()
      window.location.href = "explore.html";
    };

  }]);

  app.run(["$rootScope", "Auth", function($rootScope, Auth) {
    $rootScope.user = Auth.$getAuth();
  }]);

另外,请参见此处了解我的代码笔:

在这种情况下,您必须手动重定向。使用$state.go“说明要去哪里” 状态可以使用$stateProvider定义

查看以下两个教程,了解$stateProvider的基础知识


在这种情况下,您必须手动重定向。使用$state.go“说明要去哪里” 状态可以使用$stateProvider定义

查看以下两个教程,了解$stateProvider的基础知识


确认一下,这是唯一的选择吗?如果你对答案满意的话。请将其标记为已完成,否则,请通知我。感谢您的确认,这是唯一的选择吗?如果您对答案感到满意。请将其标记为已完成,否则,请通知我。感谢这在下的文档中有介绍,还有一个实现这些概念的文档。这在下的文档中有介绍,还有一个实现这些概念的文档。