2013-11-23 7 views
0

컨트롤러에서 데이터를 가져 오는 방법을 알고 있습니다. 예각도 컨트롤러에서 데이터를 가져 오는 방법

controller.js

function RegisterCtrl($scope, $http, $location) { 
    $scope.form = {}; 
    $scope.submitPost = function() { 
    $http.post('/register', $scope.form). 
     success(function(data) { 
     $location.path('/'); 
     }); 
    }; 

} 

노선 /하는 index.js

app.post('/register', sessionHandler.handleSignup); 

노선/

을 session.js
this.handleSignup = function(req, res, next) { 
     "use strict"; 
    // when i try to access into the controller by using "data" it said my "data" 
    // is not declare, what should i pass into `var data` = ?? in order to 
    // access the data from controller 

     var email = data.email, 
     confirmEmail = data.confirmEmail, 
     password = data.password, 
     confirmPassword = data.confirmPassword, 
     firstName = data.firstName, 
     lastName = data.lastName, 
     penName = data.penName, 
     publicUsername = data.publicUsername; 
} 

답변

1

당신이 사용할 수있는 express.urlencoded()HTTP를 통해 전송 된 본문 데이터를 분석하기 위해 express.json()middlewareDELETE/POST/PUT.

는 그 후, req 객체에 body 재산이 될 것입니다 그리고 당신은 그런 식으로 사용할 수 있습니다 : 그 후 유효성 검사를 수행하는 함수에 데이터를 전달하기 위해 응답에 대한

this.handleSignup = function(req, res, next) { 
    "use strict"; 

    var data = req.body, 
     email = data.confirmEmail, 
     // etc. 
}; 
+0

답변을 주셔서 감사합니다.이 3 개의 미들웨어를 앱에 포함시켜야합니까? app.use (express.bodyParser()); app.use (express.urlencoded()); app.use (express.json()) –

+0

아니요. 이미 언급 한 두 가지뿐입니다. – sbruchmann

0

http 게시물의 성공 응답에서 범위를 할당 한 다음 부분에 표시 할 수 있습니다. 이 같은.

당신의 파셜에서 다음
$http.post('/register', $scope.form). 
    success(function(data) { 
    $scope.data = data; 
    }); 

/보기

<div>{{data}}</div> 

감사합니다,

+0

안녕 덕분에, 내가 필요 표시하지 않고 데이터베이스에 삽입하십시오. –

관련 문제