Моя цель состоит в том, чтобы одна из ссылок на моей странице перенаправлялась на другую страницу моего веб-сайта.
Вот одна из двух ссылок на моей странице index.html:
<html ng-app="myApp">
.
.
.
<body>
<h1>My Home Page</h1>
<div>
<a href="login/google" class="button">Sign in with Google</a>
<a href="login/facebook" class="button">Sign in with Facebook</a>
</div>
<div ng-view></div>
<hr/>
при нажатии на ссылку "Войти в Facebook". Он перенаправляется на другую страницу. У меня это настроено с помощью "routeProvider", который я привел ниже. Также это находится в файле с именем "routes.js". Теперь проблема заключается в том, что при нажатии этой кнопки открывается страница, но отображается ошибка 404. Консоль говорит, что "Файл не найден для: /login/facebook/"
'use strict';
myApp.config("$routeProviders", function($routeProvider) {
$routeProvider
.when('login/google', {
})
.when("login/facebook", {
templateUrl: '/partials/login/facebook_login.html',
controller: 'FacebookLoginCtrl'
})
.otherwise({
redirectTo: '/'
});
});
внутри страницы facebook.html, которая находится в каталоге "/partials/login", у меня есть:
<h1>{{name}}</h1>
<button ng-click="FBLogin()">Facebook Login</button>
и для FacebookLoginCtrl в файле с именем sign_in_controllers.js:
'use strict';
myApp.controller('FacebookLoginCtrl', ["$scope", function($scope) {
$scope.name = 'Login please';
}]);
Также это мой файл app.js:
var myApp = angular.module('myApp', ['ui.bootstrap', 'ngRoute']);
Я действительно не понимаю, почему я получаю ошибку, найденную без файла, когда у меня действительно есть файл, который находится внутри '/partials/login/'
По умолчанию угловые маршрутизаторы используют хэш-ориентированные пути в приложении.
Если вы не используете html5mode и configure server, вам нужно включить хеш в ссылку href
<a href="#/login/google" class="button">Sign in with Google</a>
<a href="#/login/facebook" class="button">Sign in with Facebook</a>