XMLHttpRequest(XHR) 개체는 웹 페이지를 새로 고치지 않고도 서버에서 비동기적으로 데이터를 보내고 받을 수 있는 JavaScript의 핵심 기능입니다. 이는 AJAX(Asynchronous JavaScript and XML)의 기반을 형성하여 동적이고 대화형 웹 애플리케이션을 가능하게 합니다.
XMLHttpRequest는 HTTP 요청을 통해 서버와의 통신을 용이하게 하는 JavaScript API입니다. 다음을 지원합니다:
XHR을 사용하려면 XMLHttpRequest 객체의 인스턴스를 생성하세요.
const xhr = new XMLHttpRequest();
const xhr = new XMLHttpRequest();
xhr.open("GET", "https://api.example.com/data", true);
xhr.onload = function () { if (xhr.status === 200) { console.log("Response:", xhr.responseText); } else { console.error("Error:", xhr.status, xhr.statusText); } };
xhr.send();
const xhr = new XMLHttpRequest(); xhr.open("GET", "https://jsonplaceholder.typicode.com/posts", true); xhr.onload = function () { if (xhr.status === 200) { console.log("Data retrieved:", JSON.parse(xhr.responseText)); } else { console.error("Failed to fetch data. Status:", xhr.status); } }; xhr.onerror = function () { console.error("Request failed due to a network error."); }; xhr.send();
XHR을 사용하면 POST를 사용하여 서버에 데이터를 보낼 수 있습니다.
예:
const xhr = new XMLHttpRequest(); xhr.open("POST", "https://jsonplaceholder.typicode.com/posts", true); xhr.setRequestHeader("Content-Type", "application/json"); xhr.onload = function () { if (xhr.status === 201) { console.log("Data saved:", JSON.parse(xhr.responseText)); } else { console.error("Error:", xhr.status); } }; const data = JSON.stringify({ title: "foo", body: "bar", userId: 1 }); xhr.send(data);
readyState: 요청 상태(0~4)를 나타냅니다.
상태: HTTP 상태 코드(예: 성공의 경우 200, 찾을 수 없는 경우 404).
responseText: 텍스트 문자열로 된 응답 본문입니다.
responseXML: XML 데이터 형식의 응답 본문입니다(해당하는 경우).
onreadystatechange 이벤트를 사용하여 XHR 요청 진행 상황을 모니터링할 수 있습니다.
예:
const xhr = new XMLHttpRequest();
XHR은 여전히 널리 지원되지만 Fetch API는 HTTP 요청에 대한 현대적인 약속 기반 접근 방식을 제공합니다.
가져오기 예:
const xhr = new XMLHttpRequest();
XMLHttpRequest는 AJAX 호출을 위한 안정적이고 잘 지원되는 도구이지만 가져오기와 같은 최신 API나 Axios와 같은 라이브러리는 일반적으로 단순성과 향상된 기능으로 인해 선호됩니다. 그러나 레거시 코드를 유지하고 JavaScript에서 비동기 통신이 작동하는 방식에 대한 더 깊은 지식을 얻으려면 XHR을 이해하는 것이 필수적입니다.
안녕하세요. 저는 Abhay Singh Kathayat입니다!
저는 프론트엔드와 백엔드 기술 모두에 대한 전문 지식을 갖춘 풀스택 개발자입니다. 저는 효율적이고 확장 가능하며 사용자 친화적인 애플리케이션을 구축하기 위해 다양한 프로그래밍 언어와 프레임워크를 사용하여 작업합니다.
내 비즈니스 이메일(kaashshorts28@gmail.com)로 언제든지 연락해주세요.
위 내용은 XMLHttpRequest 마스터하기: JavaScript의 AJAX 호출 가이드의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!