이 기사에서는 기본 JS에서 Ajax 메소드를 구현하는 방법을 설명합니다. 네이티브 JS(코드 포함)에서 Ajax를 구현하는 방법을 소개합니다. 도움이 필요한 친구들이 참고할 수 있기를 바랍니다.
일반적으로 JQuery에서 제공하는 Ajax 메서드를 사용하는 것은 누구나 익숙할 수 있는데, Native JS를 사용하여 Ajax 메서드를 구현하는 방법은 무엇일까요?
JQuery에서 제공하는 Ajax 메소드:
$.ajax({ url: , type: '', dataType: '', data: { }, success: function(){ }, error: function(){ } })
var Ajax={ get: function(url, fn) { // XMLHttpRequest对象用于在后台与服务器交换数据 var xhr = new XMLHttpRequest(); xhr.open('GET', url, true); xhr.onreadystatechange = function() { // readyState == 4说明请求已完成 if (xhr.readyState == 4 && xhr.status == 200 || xhr.status == 304) { // 从服务器获得数据 fn.call(this, xhr.responseText); } }; xhr.send(); }, // datat应为'a=a1&b=b1'这种字符串格式,在jq里如果data为对象会自动将对象转成这种字符串格式 post: function (url, data, fn) { var xhr = new XMLHttpRequest(); xhr.open("POST", url, true); // 添加http头,发送信息至服务器时内容编码类型 xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); xhr.onreadystatechange = function() { if (xhr.readyState == 4 && (xhr.status == 200 || xhr.status == 304)) { fn.call(this, xhr.responseText); } }; xhr.send(data); } }
1 open(method, url, async) 메소드에는 세 가지 매개변수가 필요합니다.
메소드: 요청을 보내는 데 사용됩니다. 방법(GET 또는 POST), GET은 POST보다 간단하고 빠르며 대부분의 경우 작동하지만 다음과 같은 경우에는 POST 요청을 사용하세요.
캐시 파일을 사용할 수 없습니다(서버의 파일 또는 데이터베이스 업데이트).
open
메소드가 호출됨) open
方法已经被调用)
2: 请求已接收(send
方法已经被调用,并且头部和状态已经可获得)
3: 请求处理中(下载中,responseText
send
메소드가 호출되었으며 헤더와 상태가 획득되었습니다) responseText
속성에 이미 일부 데이터가 포함되어 있음) 4: 요청이 완료되었고 응답이 준비되었습니다(다운로드 작업이 완료되었습니다)
5.responseText: 문자열 형식으로 응답 데이터를 가져옵니다.
🎜6. setRequestHeader(): POST가 데이터를 전송할 때 HTTP 헤더를 추가한 다음 전송(데이터)하는 데 사용됩니다. GET이 정보를 보낼 때 데이터 형식에 주의하세요. URL과 같은 매개변수를 직접 추가하세요. ?a=a1&b=b1 . 🎜🎜🎜PS🎜: Fetch 폴리필의 기본 원리는 window.fetch 메소드가 존재하는지 감지하고 존재하지 않으면 XHR을 사용하여 구현하는 것입니다🎜위 내용은 네이티브 js에서 Ajax 메소드를 구현하는 방법은 무엇입니까? 네이티브 JS에서 Ajax를 구현하는 방법 소개(코드 포함)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!