javaScript를 사용하여 html5에서 ajax 요청을 만드는 것은 xmlhttprequest
object (또는 더 현대적인 fetch
API)를 활용하는 것과 관련이 있습니다. 두 가지 메소드를 사용하여 수행하는 방법은 다음과 같습니다.
xmlhttprequest
:
<code class="javaScript"> function makeajaxRequest (url, method, 콜백) {const xhr = new xmlhttprequest (); xhr.open (메소드, URL); xhr.onload = function () {if (xhr.status & gt; = 200 & amp; & amp; xhr.status & lt; 300) {콜백 (null, xhr.response); // 성공, 콜백에 대한 응답 전달} else {콜백 (xhr.status, null); // 오류, 상태 코드를 콜백으로 전달합니다}}; xhr.onerror = function () {콜백 (xhr.status, null); // 네트워크 오류 처리}; xhr.send (); } // 예제 사용 예 : MakeajaxRequest ( 'data.json', 'get', get ', function (error, response) {if (error) {console.error ('error : ', error);} else {console.log ('response : ', </code>
기능 MakeajaxRequest
URL, HTTP 메소드 (Get, Post 등) 및 콜백 함수를 인수로 가져옵니다. xmlhttprequest
객체를 생성하고 onload
(성공적인 요청) 및 onerror
(네트워크 오류)에 대한 이벤트 리스너를 설정하고 요청을 보냅니다. 콜백 함수는 응답 또는 오류를 처리합니다.
fetch> api :
<code class="javaScript"> 함수 makefetchRequest (URL, 메소드, 본문) {const 옵션 = {메소드 : 메소드, 헤더 : { 'content-type': 'Application/JSON'// 조정 | json.stringify (body) // JSON Data가있는 게시물 요청}; 페치 (url, 옵션) .then (response = & gt; {if (! response.ok) {새로운 오류 (`http 오류! 상태 : $ {response.status}`);} return response (); // parse json response}) Console.error ( 'error :', error); } // 예제 사용 예 : makefetchRequest ( 'data.json', 'get') makefetchRequest ( 'admit_data.php', 'post', {name : & quot; john doe & quot; 약속을 사용하여 비동기 운영을보다 쉽게 관리 할 수 있습니다. 이 예제는 요청 본문에서 JSON 데이터를 보내는 것을 포함하여 GET 및 POST 요청을 처리하는 방법을 보여줍니다. 다양한 데이터 유형에 필요한 <code> content-type </code> 헤더를 조정하는 것을 기억하십시오. <h2> 웹 개발에 Ajax를 사용하는 데있어 주요 이점은 무엇입니까? </h2> <p> ajax (Asynchronous javaScript 및 XML)는 웹 개발에서 몇 가지 중요한 발전을 제공합니다. 전체 페이지 새로 고침. 이로 인해 사용자가 모든 상호 작용 후 전체 페이지가 새로 고침 될 때까지 기다릴 필요가 없기 때문에 더 빠르고 반응이 좋은 사용자 경험이 나옵니다. </p> <li> <strong> 개선 된 성능 : </strong> 페이지의 일부만 업데이트하여 클라이언트와 서버간에 전송 된 데이터의 양을 줄이고, 더 빠른로드 타임과 대역 컨텐츠를 더 낮게 이끌어냅니다. 사용자의 워크 플로를 방해하지 않고 컨텐츠를 동적으로 업데이트합니다. 이는 라이브 채팅, 실시간 업데이트 및 대화식 양식과 같은 기능에 중요합니다. </li> <li> <strong> 상호 작용 : </strong> AJAX는 상호 대화 형 웹 응용 프로그램의 생성을 용이하게합니다. 사용자는 페이지 재 장전없이 요소와 상호 작용하고 즉각적인 피드백을받을 수 있습니다. </li> <li> <strong> 우려 사항 분리 : </strong> ajax는 데이터 계층 (백엔드)과 프레젠테이션 계층 (프론트 엔드)을 분리하여 더 나은 코드 구성 및 유지 관리 가능성을 홍보합니다. 강력하고 사용자 친화적 인 웹 애플리케이션을 만드는 데 요청이 중요합니다. 주요 전략은 다음과 같습니다. <ul> <li> <strong> HTTP 상태 코드 점검 : </strong> 요청이 완료된 후 <code> xmlhttprequest </code> 객체 (또는 <code> response.ok </code> 속성의 <code> 상태 </code> 속성을 항상 검사하십시오. 200-299 범위 외부의 상태 코드는 오류 (예 : 404 찾을 수 없음, 500 내부 서버 오류)를 나타냅니다. </li> <li> <strong> 네트워크 오류 핸들 : </strong> 네트워크 문제에 대한 오류 처리 구현 (예 : 서버는 도달 할 수 없습니다). <code> xmlhttprequest </code>에서 <code> onerror </code> 이벤트를 듣거나 <code> .catch () </code> <code> fetch </code>에서 블록을 사용하십시오. 이를 통해 사용자는 문제를 이해하고 적절한 조치를 취할 수 있습니다. </li> <li> <strong> 재 시도 메커니즘 : </strong> 과도 오류 (예 : 임시 네트워크 글리치)에 대한 중앙 집중식 오류 처리 메커니즘을 사용하는 것을 고려하십시오. </li> <li> 사용자 피드백을 통해 명확한 피드백을 제공 할 때 명확한 피드백을 제공 할 때 명확한 피드백을 제공하는 일시적 오류 (예 : 임시 네트워크 글리치). 문제를 해결합니다. 이것은 전체 사용자 경험을 향상시킵니다. </li> </ul> <p> 세부 오류 처리 : </p> <pre class="brush:php;toolbar:false"> <code class="javaScript"> fetch (url) .then (응답 = & gt; {if (! respons.ok) {response == 404) {rosp -new (new n't found); (response.status === 500) { '서버 오류. 나중에 다시 시도하십시오.'; Console.error ( 'Error :', Error); // 사용자 친화적 인 오류 메시지 알림 (error.message); 응용 프로그램 : <ul> <li> <strong> 오류 처리 무시 : </strong> 적절한 오류 처리를 구현하지 않으면 예기치 않은 동작과 사용자 경험이 불량 할 수 있습니다. 항상 잠재적 인 오류를 예상하고 우아하게 처리하십시오. </li> <li> <strong> Ajax의 남용 : </strong> Ajax가 강력하지만 항상 최상의 솔루션은 아닙니다. 모든 작은 작업에 Ajax를 사용하면 불필요한 오버 헤드와 복잡성으로 이어질 수 있습니다. Consider whether a full page refresh would be simpler and more efficient.</li> <li> <strong>Lack of Progress Indicators:</strong> For lengthy AJAX requests, providing a progress indicator (eg, a loading spinner) is crucial to keep the user informed and prevent frustration.</li> <li> <strong>Security Vulnerabilities:</strong> AJAX requests can expose your application to security risks if not handled carefully. 입력 유효성 검사 및 보안 서버 측 처리와 같은 적절한 보안 조치를 사용하십시오. </li> <li> <strong> 캐싱 문제 : </strong> 캐싱을 부적절하게 처리하면 오래된 데이터가 표시 될 수 있습니다. 적절한 HTTP 헤더 (예 : <code> 캐시 제어 </code>)를 사용하여 캐싱을 효과적으로 관리합니다. </li> <li> <strong> CORS (Cross-Origin Resource Sharing) 문제 : </strong> 다른 영역에 대한 요청을 할 때는 오류를 피하기 위해 CORS를 올바르게 처리해야합니다. 서버가 도메인에서 요청을 허용하도록 구성되어 있는지 확인하십시오. </li> <li> <strong> 기본 스레드 차단 : </strong> 장기 실행되는 Ajax 작업은 기본 스레드를 차단하여 UI가 응답하지 않게 만들 수 있습니다. 이 문제를 피하기 위해 항상 이러한 작업을 비동기 적으로 수행하십시오. <code> Async/Await </code> 또는 비동기 작업을 효율적으로 관리하겠다고 약속합니다. </li> </ul></code>
위 내용은 HTML5에서 JavaScript를 사용하여 Ajax 요청을하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!