[python] Django XMLHttpRequest를 이용한 AJAX 통신 구현하기

이번 포스트에서는 Django 웹 애플리케이션에서 XMLHttpRequest를 활용하여 AJAX 통신을 구현하는 방법에 대해 알아보겠습니다.

AJAX란 무엇인가요?

AJAX(Asynchronous JavaScript and XML)는 웹 애플리케이션에서 비동기적으로 서버와 통신하여 페이지를 새로 고치지 않고 동적으로 변경할 수 있는 기술입니다. XMLHttpRequest 객체를 사용하여 서버와 데이터를 주고받을 수 있습니다.

Django에서 XMLHttpRequest를 사용하여 AJAX 통신 구현하기

1. XMLHttpRequest 객체 생성하기

var xhr = new XMLHttpRequest();

2. 서버로 데이터 전송하기

xhr.open('POST', '/your_api_endpoint/', true);
xhr.setRequestHeader("Content-Type", "application/json");
xhr.send(JSON.stringify({data: yourData}));

3. 서버 응답 처리하기

xhr.onreadystatechange = function() {
  if (xhr.readyState === XMLHttpRequest.DONE) {
    if (xhr.status === 200) {
      var response = JSON.parse(xhr.responseText);
      // 응답 데이터를 사용하여 화면 업데이트 또는 다른 작업 수행
    } else {
      // 오류 처리
    }
  }
};

위 코드는 JavaScript에서 XMLHttpRequest를 사용하여 서버로 데이터를 전송하고, 응답을 처리하는 예시입니다.

4. Django View에서 AJAX 요청 처리하기

from django.http import JsonResponse

def your_api_endpoint(request):
    if request.method == 'POST':
        data = request.POST.get('data')
        # 데이터 처리 로직 수행
        return JsonResponse({'result': 'success'})
    else:
        return JsonResponse({'result': 'error'}, status=400)

위 Django View 코드에서 your_api_endpoint 함수는 AJAX 요청을 처리하고, JSON 형태의 응답을 반환합니다.

이제 위 예제를 참고하여 Django 웹 애플리케이션에서 XMLHttpRequest를 사용하여 AJAX 통신을 구현해보세요.

이상으로 Django와 XMLHttpRequest를 이용한 AJAX 통신 구현에 대해 알아보았습니다. 자세한 내용은 Django 공식 문서를 참고하시기 바랍니다.