자바스크립트 데이터 전송 및 수신 방법

자바스크립트는 웹 개발에서 데이터를 전송하고 수신하는 데 사용되는 강력한 언어입니다. 이 글에서는 자바스크립트를 사용하여 데이터를 전송하고 수신하는 다양한 방법을 살펴보겠습니다.

1. XMLHttpRequest

XMLHttpRequest는 가장 전통적이고 기본적인 방법으로, 웹 애플리케이션에서 비동기적으로 서버로 데이터를 보내고 서버로부터 데이터를 받는 데 사용됩니다. 아래는 간단한 XMLHttpRequest를 사용한 예제입니다.

var xhr = new XMLHttpRequest();
xhr.open('POST', '/api/data', true);
xhr.setRequestHeader('Content-Type', 'application/json');
xhr.onreadystatechange = function() {
  if (xhr.readyState === 4 && xhr.status === 200) {
    var response = JSON.parse(xhr.responseText);
    console.log(response);
  }
};
xhr.send(JSON.stringify({ name: 'John', age: 30 }));

이 예제는 POST 요청을 보내고 서버로부터 응답을 받는 방법을 보여줍니다. open 메서드를 사용하여 요청 메서드와 URL을 설정하고, setRequestHeader 메서드를 사용하여 요청 헤더를 설정합니다. 그 후 send 메서드를 사용하여 데이터를 서버로 보냅니다. 응답은 onreadystatechange 이벤트 핸들러를 통해 처리됩니다.

2. Fetch API

Fetch API는 XMLHttpRequest 대체제로 최신 웹 개발에서 많이 사용되는 방법입니다. Fetch를 사용하면 간결하고 직관적인 코드를 작성할 수 있습니다. 아래는 Fetch API를 사용한 예제입니다.

fetch('/api/data', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({ name: 'John', age: 30 })
})
  .then(response => response.json())
  .then(data => console.log(data))
  .catch(error => console.error(error));

Fetch API를 사용하면 Promise를 사용하여 응답을 처리할 수 있습니다. .then 메서드를 사용하여 응답을 JSON 형식으로 파싱하고 데이터를 처리합니다. .catch 메서드는 요청이 실패했을 때 에러를 처리하는 데 사용됩니다.

3. Axios

Axios는 많은 개발자들이 선호하는 HTTP 클라이언트입니다. 특히 Node.js에서 많이 사용되며, XMLHttpRequest와 Fetch API에 비해 더 많은 기능과 간편한 인터페이스를 제공합니다. 아래는 Axios를 사용한 예제입니다.

axios.post('/api/data', { name: 'John', age: 30 })
  .then(response => console.log(response.data))
  .catch(error => console.error(error));

Axios를 사용하면 간편한 코드를 작성할 수 있고, 자동으로 JSON 응답을 파싱하여 사용할 수 있습니다. 또한 .catch 메서드를 사용하여 에러를 처리할 수 있습니다.

결론

이 글에서는 자바스크립트를 사용하여 데이터를 전송하고 수신하는 다양한 방법을 살펴보았습니다. XMLHttpRequest, Fetch API, 그리고 Axios는 각각의 장단점이 있으므로 상황에 맞게 선택하여 사용하시면 됩니다. 웹 개발에서는 데이터 전송과 수신이 중요한 부분이므로 이러한 방법들에 대한 이해는 필수적입니다.