AJAX
一. 什么是 AJAX?
AJAX 全稱:Asynchronous Javascript And XML(異步的 JavaScript 與 XML)
網頁的區域重繪技術,網頁不需要重繪整個頁面來更新部分網頁資料
二. 原始的 JS 創建 AJAX 步驟(☆)
-
創建 AJAX 的核心物件,XMLHttpRequest 根據不同的瀏覽器來創建相對應的Ajax物件
var req; if(window.XMLHttpRequest){ // 非IE req = new XMLHttpRequest(); }else { // IE req = new ActiveXObject("Microsoft.XMLHTTP"); } -
與服務器進行連接
// 第一個引數:提交方式 get 或 post // 第二個引數:訪問后臺的 URL // 第三個引數:是否異步,true 表示異步,false 表示同步 req.open("post", url, true); -
發送請求
req.send(); // get方式:index?id=1 req.send(null); // post方式: 設定編碼方式 req.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); var data = "https://www.cnblogs.com/xiqingbo/p/id=" + 1; req.send(data); -
指定回呼函式,接收后臺回傳值(系結回呼函式 / 狀態監聽函式)
req.onreadystatechange = function() { // AJAX 狀態是否等于4,狀態為4表示完成了整個請求 if(req.readyState == 4) { // HTTP 狀態等于200 if(req.status == 200) { // 處理回傳值 var info = req.responseText; } } }
三. readyState 屬性值(AJAX 的狀態)
| 狀態值 | 描述 |
|---|---|
| 0 | 表示“未初始化狀態”,已經創建好 XMLHttpRequest 物件,但沒有初始化 |
| 1 | 表示"載入狀態",XMLHttpRequest 呼叫了 open 函式,但沒有發送請求 |
| 2 | 表示"發送狀態",XMLHttpRequest 呼叫了 send 函式,發送請求 |
| 3 | 表示"接收狀態",Servlet 已經接收到 HTTP 請求,但沒有執行完畢 |
| 4 | 表示"已加載狀態",完全被接收,并且處理完成,前端 AJAX 可以接識訓傳值 |
本文來自博客園,作者:Schieber,轉載請注明原文鏈接:https://www.cnblogs.com/xiqingbo/p/front-end-11.html
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/452049.html
標籤:JavaScript
上一篇:JS—關于排序
