我正在尝试使用动态路由显示视图。为此我使用 “:”
符号。数据从服务器返回后,$location.path('/postuser/'+permalink)
用于重定向到视图。但由于某种原因,我收到404错误。
我使用的是Html 5模式。我认为这是问题。
$location.path('/postuser/'+permalink)
向服务器发送请求:
而不是
以下是路由器示例
test.config(['$routeProvider', function($routeProvider) {
$routeProvider.when('/welcome', {templateUrl: 'partials/welcome.html', controller: 'welcomeController'});
$routeProvider.when('/login', {templateUrl: 'partials/login.html', controller: 'singupController'});
$routeProvider.when('/signup', {templateUrl: 'partials/signup.html', controller: 'singupController'});
$routeProvider.when('/', {templateUrl: 'partials/home.html', controller: 'homeController'});
$routeProvider.when('/create', {templateUrl: 'partials/new.html', controller: 'CrudController'});
$routeProvider.when('/user/:permalink', {templateUrl: 'partials/userspostpage.html', controller: 'CrudController'});
$routeProvider.otherwise({redirectTo: '/'});
}]);
test.config(['$locationProvider', function($locationProvider) {
$locationProvider.html5Mode(true);
}]);
AngularJS文件和文件夹结构
同样在后端我正在使用ExpressJS路由器
ExpressJS路由器
app.get("/postuser/:permalink", daataN);
如果我从/:permalink
移除$routeProvider
,我就能收到回复。但我希望网址是动态的
请告诉我这里的问题
答案 0 :(得分:1)
我的猜测,因为你说你正在使用html5mode是服务器在客户端获得机会之前处理路由,因此你总是会在角度路由器有机会处理之前在服务器上触发GET操作请求。
我认为你有几个选择: