PHP에서 AJAX를 사용하면 데이터를 JSON 형식으로 전송하거나, 일반 POST 방식으로 전송할 수 있습니다. 각 방식의 구현 방법을 예제 코드와 함께 자세히 살펴보겠습니다.
1. JSON 형식으로 데이터 전송하기
JSON 형식으로 여러 데이터를 전송하려면 contentType을 application/json으로 지정하고, 전송할 데이터를 객체 형태로 구성하면 됩니다.
var value_1 = 1;
var value_2 = 2;
var value_3 = 3;
$.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
url: "your_url_goes_here",
data: { data_1: value_1, data_2: value_2, data_3: value_3 },
success: function (result) {
// 여기에서 결과 처리 작업 수행
}
});2. 일반 POST 방식으로 데이터 전송하기
폼 데이터를 그대로 서버로 전송하려면 jQuery의 serialize() 메서드를 활용하면 편리합니다. 폼 내 모든 입력값이 자동으로 쿼리 문자열 형태로 변환되어 전송됩니다.
$.ajax({
type: "POST",
url: $('form').attr("action"),
data: $('#form0').serialize(),
success: function (result) {
// 여기에서 결과 처리 작업 수행
}
});3. 객체 표기법으로 여러 데이터 전송하기
데이터를 문자열로 직접 연결하는 대신 객체 표기법을 사용하면 코드가 훨씬 깔끔해지고 가독성도 높아집니다. 두 방식을 비교해 보세요.
문자열 연결 방식:
data: 'id=' + ID + '&user_id=' + USERID
객체 표기법 방식:
data: {id: ID, user_id: USERID}객체 표기법을 적용한 전체 코드는 다음과 같습니다.
$(document).ready(function(){
$(document).on('click','.show_more',function(){
var ID = 10;
var USERID = 1;
$('.show_more').hide();
$('.loding').show();
$.ajax({
type:'POST',
url:'/ajaxload.php',
data: {id: ID, user_id: USERID},
success:function(html){
$('#show_more_main' + ID).remove();
$('.post_list').append(html);
}
});
});
});마무리
AJAX로 여러 데이터를 전송할 때는 JSON 형식, serialize() 메서드, 객체 표기법 중 상황에 맞는 방식을 선택하면 됩니다. 특히 객체 표기법은 코드 가독성과 유지보수성 면에서 가장 권장되는 방식이므로, 특별한 이유가 없다면 객체 표기법을 사용하는 것이 좋습니다.