>  기사  >  웹 프론트엔드  >  Javascript가 HTTP 요청을 보내는 방법

Javascript가 HTTP 요청을 보내는 방법

王林
王林원래의
2023-05-26 16:19:411988검색

Javascript는 웹페이지에서 사용할 수 있는 널리 사용되는 스크립트 언어입니다. 이는 많은 기능을 지원하며 그 중 가장 일반적인 기능은 아마도 HTTP를 통해 요청하고 데이터를 수신하여 웹 페이지에 표시하는 것입니다. 이 기사에서는 Javascript가 HTTP 요청을 보내는 방법을 다룹니다.

HTTP는 웹 애플리케이션 간에 데이터를 교환하는 데 사용되는 클라이언트-서버 프로토콜입니다. 예를 들어 웹 브라우저에 URL을 입력하면 브라우저는 페이지의 HTML 콘텐츠를 얻기 위해 웹 서버에 HTTP 요청을 보냅니다.

Javascript는 XMLHttpRequest 객체를 사용하여 HTTP 요청을 보낼 수 있습니다. XMLHttpRequest 객체를 사용하면 페이지를 새로 고치지 않고도 JavaScript 코드를 통해 서버와 데이터를 교환할 수 있습니다. 다음은 XMLHttpRequest 개체를 통해 HTTP 요청을 보내는 기본 단계입니다.

1. XMLHttpRequest 개체 만들기

HTTP 요청을 보내려면 먼저 XMLHttpRequest 개체를 만들어야 합니다. 다음 코드를 사용하여 XMLHttpRequest 객체를 생성할 수 있습니다:

var xhr = new XMLHttpRequest();

2. HTTP 요청 열기

XMLHttpRequest 객체의 open() 메서드는 HTTP 요청 매개변수를 초기화하는 데 사용됩니다. open() 메서드는 HTTP 요청 메서드, 요청 URL, 요청을 비동기적으로 실행할지 여부를 나타내는 부울 값 등 세 가지 매개 변수를 허용합니다. 해당 매개변수의 값은 "GET", "http://example.com/api", "true"입니다.

예를 들어 다음 코드는 GET 메서드를 사용하여 http://example.com/api를 요청합니다.

xhr.open('GET', 'http://example.com/api', true);

3. HTTP 요청 보내기

XMLHttpRequest 객체의 send() 메서드는 HTTP 요청을 보내는 데 사용됩니다. 요청에 대한 데이터가 없는 경우 공백으로 남겨둘 수 있습니다. 데이터를 보내야 하는 경우 send() 메소드의 매개변수로 사용하세요.

예를 들어 다음 코드는 HTTP 요청을 보냅니다.

xhr.send();

4. 서버 응답 처리

서버가 XMLHttpRequest 요청에 응답하면 이벤트 핸들러를 호출합니다. 서버 응답을 처리하기 위해 XMLHttpRequest 객체에 이벤트 핸들러를 등록할 수 있습니다. 다음 코드는 이벤트 핸들러를 등록하는 방법을 보여줍니다.

xhr.onreadystatechange = function() {
  if (xhr.readyState === 4) {
    alert(xhr.responseText);
  }
};

이 이벤트 핸들러에서는 XMLHttpRequest 객체의 ReadyState 속성을 확인하여 서버가 요청에 응답했는지 확인합니다. ReadyState의 값이 4이면 서버가 요청에 응답했음을 의미합니다.

HTTP 요청을 한 후 XMLHttpRequest 객체의 statusCode 및 responseText 속성을 확인하여 서버에서 수신된 HTTP 응답을 얻을 수 있습니다. statusCode 속성에는 응답의 상태 코드(예: 성공의 경우 200)가 포함되고, responseText 속성에는 응답의 본문 내용이 포함됩니다.

이 기사에서는 Javascript가 XMLHttpRequest 객체를 사용하여 HTTP 요청을 보내는 방법을 소개했습니다. 웹 애플리케이션을 개발하는 경우 HTTP 요청을 보내는 방법을 아는 것이 유용할 것입니다.

위 내용은 Javascript가 HTTP 요청을 보내는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.