목차

반응형

원리


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;

반응형