$location.path("/postuser/"+data.permalink)
クライアント側で他のビューにリダイレクトするために使用しています。
サーバー側では、expressJS を使用してルート リクエストを処理しています。
ここでの問題は$location.path("/postuser/"+data.permalink)
、データを取得するためにサーバーにリクエストを送信することですが、クライアント側にデータが既に存在しています。したがって、他のビューをレンダリングしたいだけです。
ExpressJS には、 $location.path("/postuser/"+data.permalink)
すでにデータがあるため、 request に一致するルーターはありません。
AngularRouter
test.config(['$routeProvider', function($routeProvider) {
$routeProvider.when('/welcome', {templateUrl: 'partials/welcome.html', controller: 'welcomeController'});
$routeProvider.when('/postuser/:permalink', {templateUrl: 'partials/userspostpage.html', controller: 'CrudController'});
$routeProvider.otherwise({redirectTo: '/'});
}]);
test.config(['$locationProvider', function($locationProvider) {
$locationProvider.html5Mode(true);
}]);
コントローラ
test.controller('CrudController',function($scope,TestServ,$location){
$scope.create = function(){
var postData = {
'subject' : this.title,
'body' : this.description,
'tags' : ""
};
TestServ.create(postData).success(function(data){
console.log(data);
$location.path("/postuser/"+data.permalink)
}).error(function(errdata){
console.log("error"+errdata);
})
},
});
ExpressJS ルーター
app.get("/test/:permalink", data1);
app.post('/test', data2);
app.get("/not_found", data3);
ビューを変更したり、必要な html をレンダリングする方法を教えてください。