Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/465.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 角度控制器返回路线参数的404_Javascript_Angularjs_Node.js - Fatal编程技术网

Javascript 角度控制器返回路线参数的404

Javascript 角度控制器返回路线参数的404,javascript,angularjs,node.js,Javascript,Angularjs,Node.js,我正在用Node.js和AngularJs构建我的第一个web应用程序。我的问题在于这里的代码: var app = angular.module('Martin', ['ngResource','ngRoute']); app.config(['$routeProvider', function($routeProvider){ $routeProvider .when('/', { templateUrl: 'partials/home.ht

我正在用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所指出的,问题是我忘记了URL中的OctorType(如果你不想那么酷的话,也可以使用标签)。所以它不应该是
etc/mypage
,而是
#/etc/mypage
。在许多情况下(包括我的情况),这种行为都不太理想,因此我建议使用禁用。

这是哪个版本的angular?除非您使用
HTML5模式
,否则该路由的URL要么是
#/etx/mypage
要么是
#/etx/mypage
,具体取决于angular版本。此外,404错误意味着服务器响应了请求,而不是angular,因此您可能需要验证服务器路由是否正确返回angular应用程序。