Javascript 角度控制器返回路线参数的404
我正在用Node.js和AngularJs构建我的第一个web应用程序。我的问题在于这里的代码: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
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应用程序。