.
바닐라 Ajax는 유연하고 현대적인 프론트 엔드 API를 제공합니다. 요청 헤더를 설정하고 서버에서 예상되는 응답 유형을 지정하고 브라우저 캐시를 파열시킬 수 있습니다. Ajax는 한때 복잡한 프로세스 였지만 더 간단하고 사용자 친화적이되었습니다.
-
여기서, 우리는 서버에 HTTP 요청을하기 위해 필요한 클래스의 인스턴스를 만들고 있습니다. 그런 다음 HTTP 요청 메소드를 첫 번째 매개 변수로 지정하여 두 번째로 요청하는 페이지의 URL을 지정합니다. 마지막으로, 우리는 NULL을 전달하는 Send 메소드를 매개 변수로 호출합니다. 요청을 게시하는 경우 (여기서 GET를 사용하고 있음)이 매개 변수는 요청과 함께 보내려는 데이터가 포함되어야합니다. 그리고 이것이 서버의 응답을 다루는 방법입니다. -
Ajax의 기본 사항에 대해 더 많이 배우고 자하는 사람들을 위해 MDN 네트워크에는 좋은 안내서가 있습니다. jQuery에게 jQuery가 아닌가? 그래서 좋은 소식은 위의 코드가 모든 최신 주요 브라우저에서 작동한다는 것입니다. 나쁜 소식은 꽤 복잡하다는 것입니다. 왝! 나는 이미 우아한 솔루션을 고정시키고 있습니다. -
<.> 좋은. 그리고 실제로 당신을 포함하여 많은 사람들에게 jQuery는 Ajax와 관련하여 사실상의 표준이되었습니다. 그러나, 당신은 무엇을합니까? 이것은 사실 일 필요가 없습니다. jQuery는 못생긴 DOM API를 돌아 다니기 위해 존재합니다. 그러나 그것은 정말로
추악한가? 아니면 이해할 수 없습니까?
.
렌더링 함수는 요청 된 파일의 내용을 비동기로 읽습니다. Httphandler 함수에 대한 참조가 전달되어 콜백으로 실행됩니다. httphandler 함수는 오류 객체가 있는지 확인합니다 (예 : 요청 된 파일을 열 수없는 경우). 모든 것을 제공하는 것이 좋습니다. 그런 다음 적절한 HTTP 상태 코드 및 콘텐츠 유형으로 파일의 내용을 제공합니다.
api 테스트
사운드 백엔드 API와 같은 경우 몇 가지 단위 테스트를 작성하여 작동하는지 확인해 봅시다. 이 테스트를 위해, 나는 Supertest와 Mocha를 도와주기 위해 전화를 걸고 있습니다 : .
이 앱은 올바른 컨텐츠 유형 및 HTTP 상태 코드로 다른 요청에 응답하도록합니다. 종속성을 설치 한 후에는 NPM 테스트를 사용하여 명령 에서이 테스트를 실행할 수 있습니다.
인터페이스
이제 html에서 구축하는 사용자 인터페이스를 살펴 보겠습니다 :
var xhr = new XMLHttpRequest();
xhr.open('GET', 'send-ajax-data.php');
xhr.send(null);
HTML은 멋지고 깔끔해 보입니다. 보시다시피, 모든 흥분은 JavaScript에서 일어나고 있습니다. Onreadystate vs onload
표준 Ajax 책을 살펴보면 어디에서나 onreadystate를 찾을 수 있습니다. 이 콜백 기능에는 중첩 된 IFS와 많은 보풀이있어 머리 꼭대기에서 기억하기가 어렵습니다. OnreadyState 및 Onload Events를 헤드로 올리 봅시다.
.
var xhr = new XMLHttpRequest(); xhr.open('GET', 'send-ajax-data.php'); xhr.send(null);
var xhr = new XMLHttpRequest(); xhr.open('GET', 'send-ajax-data.php'); xhr.send(null);
가 에 성공할 때만 발생합니다. 따라서 OnLoad 이벤트는 몇 초 만에 잘 활용할 수있는 최신 API입니다. OnreadyState 이벤트는 거꾸로 호환됩니다. 그러나 Onload 이벤트는 선택 도구 여야합니다. Onload 이벤트는 jQuery의 성공 콜백처럼 보입니다.
var xhr = new XMLHttpRequest(); xhr.open('GET', 'send-ajax-data.php'); xhr.send(null);
타다! 드라마가없는 모든 것.
xhr.onreadystatechange = function () { var DONE = 4; // readyState 4 means the request is done. var OK = 200; // status 200 is a successful return. if (xhr.readyState === DONE) { if (xhr.status === OK) { console.log(xhr.responseText); // 'This is the returned text.' } else { console.log('Error: ' + xhr.status); // An error occurred during the request. } } };결론
$.ajax({ url: 'send-ajax-data.php', }) .done(function(res) { console.log(res); }) .fail(function(err) { console.log('Error: ' + err.status); });
바닐라 ajax는 jQuery 라이브러리에 의존하지 않고 비동기 웹 애플리케이션을 생성하기 위해 기본 JavaScript를 사용하는 것을 말합니다. JQuery Ajax는 Ajax를 처리하기위한 단순화 된 크로스 브라우저 호환 방법을 제공하지만 Vanilla Ajax는 기본 프로세스에 대한 더 많은 제어 및 이해를 제공합니다. jQuery와 같은 외부 라이브러리의 종속성을 줄이려면 훌륭한 옵션입니다.
바닐라 JavaScript를 사용하여 기본 ajax 요청을 만드는 것은 xmlhttprequest 객체를 사용하는 것과 관련이 있습니다. 이 개체를 사용하면 HTTP 또는 HTTPS 요청을 웹 서버로 보내고 서버 응답 데이터를 스크립트에 다시로드 할 수 있습니다. 간단한 예는 다음과 같습니다.
var xhr = new xmlhttprequest (); xhr.onreadyStateChange = function () {
if (xhr.readystate == 4 && xhr.status == 200)
}
바닐라 ajax에서 오류를 어떻게 처리 할 수 있습니까?
var xhr = new xmlhttprequest (); xhr .onerRor = function () {
console.log ( "request 실패 "); };
xhr.send ();
예, 사후 요청에 바닐라 ajax를 사용할 수 있습니다. xmlhttprequest 객체의 열린 메소드는 HTTP 메소드를 첫 번째 인수로 받아들입니다. 따라서 "Get"을 "Post"로 바꿀 수 있습니다. 요청을 보내기 전에 setRequestheader 메소드를 사용하여 컨텐츠 유형 헤더를 설정하는 것을 잊지 마십시오.
게시물에서 JSON 데이터를 보내려면 Vanilla Ajax를 사용하여 게시물 요청에서 JSON 데이터를 보낼 수 있습니까? 요청에 따라 JSON 객체를 stringifor하고 요청 본문으로 보내야합니다. 또한 컨텐츠 유형 헤더를 Application/JSON으로 설정하십시오. 예는 다음과 같습니다.
var xhr = new xmlhttprequest (); xhr .SetRequestHeader ( "Content-Type", "application/json"); xhr.send (json.stringify ({key : "value"}));
바닐라 JavaScript에서 Ajax 요청을 어떻게 취소 할 수 있습니까?
XMLHTTPREQUEST 객체의 ABORT 메소드를 호출하여 AJAX 요청을 취소 할 수 있습니다. 이것은 즉시 요청이 종료됩니다.
바닐라 JavaScript를 사용하여 동기식 Ajax 요청을 만들 수 있습니까?
예, 스크립트 실행을 차단하고 웹 페이지를 응답하지 않도록 권장하지 않습니다. . 동기식 요청을하려면 열린 메소드에 세 번째 인수로 False를 전달하십시오.
Ajax 요청의 진행 상황을 모니터링 할 수 있습니다. XMLHTTPREQUEST 객체의 ONPROGRESS 이벤트 처리기. 이 이벤트는 현재 진행 상황 정보를 제공하여 여러 번 트리거됩니다.
다른 JavaScript 라이브러리 또는 프레임 워크와 함께 Vanilla Ajax를 사용할 수 있습니까?예, Vanilla Ajax는 JavaScript 라이브러리 또는 프레임 워크와 함께 사용할 수 있습니다. . 기본 JavaScript 기능이며 외부 라이브러리에 의존하지 않습니다.
xmlhttprequest 객체를 사용하여 모든 브라우저에서 모든 브라우저에서 지원되는 바닐라 ajax는 모든 최신 브라우저에서 지원됩니다. 그러나 이전 버전의 Internet Explorer (예 : 6 이상)는 Ajax에 ActiveX 객체를 사용합니다.위 내용은 jQuery가없는 바닐라 ajax에 대한 가이드의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

Node.js는 크림 덕분에 효율적인 I/O에서 탁월합니다. 스트림은 메모리 오버로드를 피하고 큰 파일, 네트워크 작업 및 실시간 애플리케이션을위한 메모리 과부하를 피하기 위해 데이터를 점차적으로 처리합니다. 스트림을 TypeScript의 유형 안전과 결합하면 Powe가 생성됩니다

파이썬과 자바 스크립트 간의 성능과 효율성의 차이는 주로 다음과 같이 반영됩니다. 1) 해석 된 언어로서, 파이썬은 느리게 실행되지만 개발 효율이 높고 빠른 프로토 타입 개발에 적합합니다. 2) JavaScript는 브라우저의 단일 스레드로 제한되지만 멀티 스레딩 및 비동기 I/O는 Node.js의 성능을 향상시키는 데 사용될 수 있으며 실제 프로젝트에서는 이점이 있습니다.

JavaScript는 1995 년에 시작하여 Brandon Ike에 의해 만들어졌으며 언어를 C로 실현했습니다. 1.C Language는 JavaScript의 고성능 및 시스템 수준 프로그래밍 기능을 제공합니다. 2. JavaScript의 메모리 관리 및 성능 최적화는 C 언어에 의존합니다. 3. C 언어의 크로스 플랫폼 기능은 자바 스크립트가 다른 운영 체제에서 효율적으로 실행하는 데 도움이됩니다.

JavaScript는 브라우저 및 Node.js 환경에서 실행되며 JavaScript 엔진을 사용하여 코드를 구문 분석하고 실행합니다. 1) 구문 분석 단계에서 초록 구문 트리 (AST)를 생성합니다. 2) 컴파일 단계에서 AST를 바이트 코드 또는 기계 코드로 변환합니다. 3) 실행 단계에서 컴파일 된 코드를 실행하십시오.

Python 및 JavaScript의 미래 추세에는 다음이 포함됩니다. 1. Python은 과학 컴퓨팅 분야에서의 위치를 통합하고 AI, 2. JavaScript는 웹 기술의 개발을 촉진하고, 3. 교차 플랫폼 개발이 핫한 주제가되고 4. 성능 최적화가 중점을 둘 것입니다. 둘 다 해당 분야에서 응용 프로그램 시나리오를 계속 확장하고 성능이 더 많은 혁신을 일으킬 것입니다.

개발 환경에서 Python과 JavaScript의 선택이 모두 중요합니다. 1) Python의 개발 환경에는 Pycharm, Jupyternotebook 및 Anaconda가 포함되어 있으며 데이터 과학 및 빠른 프로토 타이핑에 적합합니다. 2) JavaScript의 개발 환경에는 Node.js, VScode 및 Webpack이 포함되어 있으며 프론트 엔드 및 백엔드 개발에 적합합니다. 프로젝트 요구에 따라 올바른 도구를 선택하면 개발 효율성과 프로젝트 성공률이 향상 될 수 있습니다.

예, JavaScript의 엔진 코어는 C로 작성되었습니다. 1) C 언어는 효율적인 성능과 기본 제어를 제공하며, 이는 JavaScript 엔진 개발에 적합합니다. 2) V8 엔진을 예를 들어, 핵심은 C로 작성되며 C의 효율성 및 객체 지향적 특성을 결합하여 C로 작성됩니다.

JavaScript는 웹 페이지의 상호 작용과 역학을 향상시키기 때문에 현대 웹 사이트의 핵심입니다. 1) 페이지를 새로 고치지 않고 콘텐츠를 변경할 수 있습니다. 2) Domapi를 통해 웹 페이지 조작, 3) 애니메이션 및 드래그 앤 드롭과 같은 복잡한 대화식 효과를 지원합니다. 4) 성능 및 모범 사례를 최적화하여 사용자 경험을 향상시킵니다.


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

Dreamweaver Mac版
시각적 웹 개발 도구

SublimeText3 영어 버전
권장 사항: Win 버전, 코드 프롬프트 지원!

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

VSCode Windows 64비트 다운로드
Microsoft에서 출시한 강력한 무료 IDE 편집기

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경
