AJAX

一、什么是ajax?

  • Ajax:现在允许浏览器与服务器通信而无须刷新当前页面的技术. 是不需要刷新整个页面,只刷新局部页面的一种异步通讯技术;

  • Ajax技术的核心: XMLHttpRequest对象:发送请求到服务器并获得返回结果

二、常用方法和属性

1.常用方法

常用方法

2.常用属性

  • onreadystatechange:指定回调函数
  • readystate: XMLHttpRequest的状态信息
  • status:HTTP的状态码(200对应OK,404对应NotFount等)
  • statusText:HTTP状态码的相应文本(OK或NotFount等)
  • responseText:获得响应的文本内容,表示一个字符串
  • responseXML:获得响应的XML文档对象,可以解析为DOM对象

3.readystate属性说明

4.status状态码属性说明

三、示例

1.业务逻辑

  • 点击获取数据按钮,将获取的数据显示在下面 p 标签内容中

2.html代码

  • 定义一个按钮(设置获取数据的点击事件)和一个p标签(显示数据类容)

数据内容

3. js代码

    let btnEle = document.querySelector(".data-btn");
    let pEle = document.querySelector(".data-show");
    btnEle.addEventListener("click", function () {
        //1.初始化XMLHttpRequest对象
        let xhr = new window.XMLHttpRequest;
        //2.建立连接    url地址为当前需要获取的数据内容
        xhr.open("get", "http://192.168.0.105/taobao/css/mystyle.css", true);
        //3.请求头部,可以省略,省略即是默认值
        // xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
        //4.发送请求
        xhr.send();
        //5.处理响应结果
        xhr.onreadystatechange = function (e) { //e为当前点击按钮的事件对象
            let target = e.target;
            if (target.readyState == 4) { //readystate状态码等于4表示XMLHttpRequest对象读取响应结束
                if (target.status == 200) {   //200表示HTTP的状态码OK,404表示NotFount
                    pEle.innerHTML = target.responseText;
                }
            }
        }
    })

4.用jquery调用

  • ajax的数据获取在jquery中以及被封装成函数,可以直接调用
    let btnEle = document.querySelector(".data-btn");
    let pEle = document.querySelector(".data-show");
    btnEle.addEventListener("click", function () {
        $.ajax({
            url : "http://192.168.0.105/taobao/css/mystyle.css",    //规定发送请求的 URL。默认是当前页面。
            type : "get",   //http请求类型 get|post
            data : "",      //规定要发送到服务器的数据,没有需要发送的数据就填空字符串
            dataType : "text",      //预期的服务器响应的数据类型;  json|html/text
            success : function(resultData){     //当请求成功时运行的函数。
                console.log(resultData);
                pEle.innerHTML = resultData;
            }
        });
    })

5.数据获取成功

你可能感兴趣的:(AJAX)