반응형
원리
1. html에서 post방식으로 서버에 신호를 보냄.
<script> app.controller('myCtrl', function($scope, $http) { $scope.liked = function() { $http.post('/'). success(function(data) { $scope.test=data; // post에 대한 서버로부터의 응답을 html의 test라는 것에 넣어줌 }).error(function() { }) }; }); </script>
컨트롤러는 알아서 설정하고
아무곳에 ng-click="liked()" 집어넣음.
이렇게 해놓으면 liked함수가 실행되면서 위의 스크립트가 작동함.
2. 서버에서 올바른 신호를 받으면 db 관련 데이터 처리
db는 mongoose로했음.
일단 먼저 몽구스 모듈 불러오고 연결함.
가장 중요한것 은 모델, 스키마를 잘 설정하는것
스키마 설정 예시
var userSchema = new mongoose.Schema({
like: {type:Number},
info:{type:String}
});
이거 타입을 잘맞춰줘야함.
이것만 잘 설정해도 거의 모든 에러가 다 사라짐. (모델, 스키마를 잘못 설정해서 에러가 엄청많이 떴음)
에러는 안나지만 세이브가 안되는 에러 해결됨
업데이트할때 like 가 하나 더생겨버리고 NAN 생기는 에러 사라짐
[ { _id: '576cd52ed5ea2827f765a5a0', like: 0, info: 'like' }, like: NaN ]
TypeError: User.save is not a function 에러도 사라짐
3. 서버에서 처리한 데이터를 html로 다시 보냄
res.end(documents[0].like+"");
이러면 like넘버가 알아서 data변수로 html로 넘어감
4. html에서는 post에 대한 응답으로 받은 데이터를 다시 html에 나타내줌
$scope.test=data;
반응형
'JS > Angularjs' 카테고리의 다른 글
MeanStack - 반복문 안에 함수가 들어가면 index가 맨마지막것으로만 작동할때 (2) | 2016.07.19 |
---|---|
meanstack - 잘 설치되어있는지 확인하기 (0) | 2016.06.23 |
AngularJs - textarea ng-model 설정하고나면 공백일때 (0) | 2016.06.23 |
AngularJs - angular is not defined (0) | 2016.06.23 |
AngularJS - Directives (0) | 2016.06.23 |