AngularJS 의 $http 를 이용해서 POST 방식으로 데이터 전송하는 방법

AngularJS 에서는 $http 를 이용해서 Ajax 통신을 하는데요. 생각처럼 데이터가 서버로 전송이 안되는 경우가 발생합니다.

이유는 전송할 데이터를 직렬화 하지 않았기 때문에 그렇습니다.(jQuery는 그냥 보내도 되는데...)

POST 방식으로 데이터를 보낼때에는 꼭 $.param 함수를 이용해서 데이터를 직렬화 해주셔야 합니다.

그리고 헤더값도 지정을 해주세요.

$http 코드

$http({
    method: 'POST' ,
    url: 'www.example.com',
    data: $.param({
        Name: '이름',
        Age: '나이',
        City: '지역'
    }),
    headers: {
        'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8'
    }
}).success(function(response) {
    console.log('Success');
}).finally(function() {
    console.log('Complete');
});