«Файл не найден» продолжает возникать при использовании $ redirectRoute

0

Моя цель состоит в том, чтобы одна из ссылок на моей странице перенаправлялась на другую страницу моего веб-сайта.

Вот одна из двух ссылок на моей странице 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/'

  • 0
    Вы можете воссоздать эту проблему в jsfiddle или plunkr?
  • 0
    Да, все то же самое.
Теги:
ngroute
route-provider

1 ответ

1

По умолчанию угловые маршрутизаторы используют хэш-ориентированные пути в приложении.

Если вы не используете 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>

Ещё вопросы

Сообщество Overcoder
Наверх
Меню