簡體   English   中英

Angular Controller在路線參數上返回404

[英]Angular Controller returns 404 on a Route Parameter

我正在使用Node.js和AngularJs構建我的第一個Web應用程序。 我的問題在於此代碼:

var app = angular.module('Martin', ['ngResource','ngRoute']);

app.config(['$routeProvider', function($routeProvider){
    $routeProvider
        .when('/', {
            templateUrl: 'partials/home.html',
            controller: 'PageCtrl'
        })
        .when('/etx/:id', {
            templateUrl: 'partials/page.html',
            controller: 'PageCtrl'
        });
}]);

app.controller('PageCtrl', ['$scope', '$resource', '$routeParams',
    function($scope, $resource, $routeParams){
        console.log('Got here');
        var Page = $resource('/api/pages/:id');
        Page.get({ id: $routeParams.id }, function(page){
            $scope.page = page;
        });
    }]);

據我了解,如果我請求/ etx / mypage,則應該運行PageCtrl中的函數,但是當我嘗試在瀏覽器中將其拉出時,出現404錯誤,並且控制台上沒有任何內容。

我用主頁('/')測試了它,然后控制器工作正常。

正如@Claies所指出的那樣,問題是我忘記了網址中的octothorpe(如果不想太酷的話,也可以使用標簽標簽)。 因此它不應該是etc/mypage ,而應該是#/etc/mypage 在許多情況下(包括我的情況),這種行為都不理想,因此我建議使用HTML5模式對links禁用此行為。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM