AJAX 기술은 현대 웹 개발에서 매우 중요한 부분으로, 이를 통해 콘텐츠 로드, 대화형 커뮤니케이션, 프런트엔드 및 백엔드 데이터 교환을 가능하게 합니다. 그러나 기술이 계속 발전함에 따라 점점 더 많은 개발자가 추가 종속성을 피하기 위해 AJAX 요청을 구현하기 위해 jQuery 라이브러리를 사용하지 않고 기본 JavaScript를 사용하기 시작했습니다. 그러나 많은 초보자는 아직 기본 JavaScript에서 AJAX 요청을 구현하는 방법에 익숙하지 않으므로 이 기사에서는 jQuery 라이브러리를 사용하지 않고 중첩된 AJAX 요청을 구현하는 방법에 대한 팁을 공유합니다.
AJAX(비동기 JavaScript 및 XML)는 브라우저와 서버 간의 비동기 상호 작용을 기반으로 하는 기술로, HTTP 요청을 발행하고 JavaScript를 통해 응답을 처리할 수 있으므로 프런트 엔드 페이지에서 비동기 통신을 달성할 수 있습니다. 부분 새로 고침 기능. AJAX의 가장 큰 장점은 페이지의 상호작용을 매우 풍부하게 만들 수 있고, 웹사이트의 성능도 향상시킬 수 있다는 점입니다.
전통적인 웹 개발에서는 서버와의 일부 상호 작용을 구현하기 위해 AJAX 기술을 사용해야 하는 경우가 많습니다. 때로는 첫 번째 AJAX 요청이 완료된 후 두 번째 요청을 보내야 하지만 구현 및 효율성을 고려하여 중첩된 AJAX 요청을 구현하기 위해 jQuery와 같은 라이브러리를 사용하고 싶지 않습니다. 이 기사에서는 기본 JavaScript를 사용하여 이를 구현하는 방법을 보여줍니다. 기능.
네이티브 JavaScript를 사용하여 AJAX를 작성할 때 "XHR"이라고도 알려진 XMLHttpRequest 객체를 사용해야 합니다. XMLHttpRequest 객체는 서버에 요청을 보내고 서버로부터 응답을 받을 수 있습니다. GET, POST, PUT 등과 같은 여러 HTTP 메서드를 지원할 수 있습니다.
샘플 코드는 다음과 같습니다.
var xhr = new XMLHttpRequest(); xhr.open('GET', 'url', true); xhr.onreadystatechange = function() { if (xhr.readyState === 4 && xhr.status == 200) { console.log(xhr.responseText); } }; xhr.send();
Promise는 ES6에서 중요한 객체로, 비동기 작업이 완료되면 특정 콘텐츠를 실행하여 비동기 작업 처리의 자동화된 작업을 실현할 수 있습니다. Promise를 사용하는 기본 방법은 다음과 같습니다.
const promise = new Promise((resolve, reject) => { // 异步操作 if (异步操作成功) resolve('Success'); else reject('Failure'); }); promise.then((value) => { console.log(value); }).catch((error) => { console.error(error); });
다음으로 Promise를 사용하여 여러 AJAX 요청을 직렬로 연결하여 중첩된 비동기 요청을 구현합니다.
function ajax(url) { return new Promise(function (resolve, reject) { var xhr = new XMLHttpRequest(); xhr.open('GET', url, true); xhr.onreadystatechange = function() { if (xhr.readyState === 4 && xhr.status == 200) { resolve(xhr.responseText); } }; xhr.send(); }); } ajax('url1').then(function(result1) { return ajax('url2' + result1); }).then(function(result2) { return ajax('url3' + result2); }).then(function(result3) { console.log(result3); }).catch(function(error) { console.error(error); });
The 위 코드에서는 먼저 Promise를 사용하여 비동기 요청을 실행하는 XMLHttpRequest 프로세스를 캡슐화한 다음 url1에 순차적으로 액세스하는 ajax 함수를 정의합니다. 액세스 결과는 url2에 액세스할 때 매개변수로 사용되며 여러 URL 주소가 순차적으로 중첩됩니다. .
이 시점에서 우리는 네이티브 JavaScript를 사용하여 중첩된 AJAX 요청을 성공적으로 구현했으며 jQuery와 같은 외부 라이브러리에 의존하지 않고 우아한 비동기 작업을 달성했습니다. 이 방법은 글쓰기 성능 최적화와 환경 제한 측면에서 큰 장점을 갖고 있으며, 웹 개발에 있어서도 무시할 수 없는 중요한 스킬 포인트이기도 합니다.
위 내용은 Jquery 없이 Ajax 중첩 구현의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!