Ajax——08——AJAX的基本使用

1.什麼是AJAX呢?

AJAX是與服務器交換數據並更新部分網頁的藝術,在不重新加載整個頁面的情況下
比如說:淘寶搜索框搜索一件物品時,會重新加載頁面,不是使用的AJAX,但是搜索框下面的提示內容是沒有重新加載頁面的,則是用AJAX完成的
在這裏插入圖片描述

2.如何使用AJAX

HTML代碼 b.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
<!-- 括號裏的ev,ev1,是event事件對象,所有的鼠標移動,鍵盤點擊的詳細狀況都保存在這個形參裏面-->
    <script>
        window.onload=function(ev){
            var oBtn=document.querySelector("button")
            oBtn.onclick=function(ev1){
            //    1.創建一個異步對象
               var xmlhttp=new XMLHttpRequest();
                //2.設置請求方式和請求地址(給創建的異步對象設置)
                /*
                method:請求的類型:GET或POST
                url:文件在服務器上的位置
                async:true(異步)或false(同步)  AJAX是異步請求,所以括號裏永遠填true
                */
                xmlhttp.open("GET","a.php",true)
                //3.發送請求  異步對象發送請求
                xmlhttp.send();
                //4.監聽狀態的變化  監聽的是異步對象的變化  只要異步請求發生了變化,就調用這個回調函數,代表請求已經完成
                xmlhttp.onreadystatechange=function(ev2){
               if(xmlhttp.readyState===4){
                   /*
                   存有 XMLHttpRequest 的狀態。從 0 到 4 發生變化。

                  0: 請求未初始化
                  1: 服務器連接已建立
                  2: 請求已接收
                  3: 請求處理中
                  4: 請求已完成,且響應已就緒

                   */
                   //判斷是否請求成功  http狀態碼
                   if(xmlhttp.status>=200&&xmlhttp.status<300||
                   xmlhttp.status===304){
                       //5.處理返回的結果
                       console.log("接收到服務器返回的數據");
                   }else{
                       console.log("沒有接收到服務器返回的數據");
                   }

               }
                }

            }
        }
    </script>
</head>
<body>
 <button>發送請求</button>
</body>
</html>

PHP代碼 a.php

<?php
echo "ajax get page";

在這裏插入圖片描述如果將第二步設置請求方式和請求地址的url改成不存在的地址,比如b.php,則接收不到服務器返回的數據
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章