美文网首页
Ajax基础

Ajax基础

作者: MoreCode | 来源:发表于2020-03-30 22:17 被阅读0次

    1.AJAX(asynchronous javascript and xml)简介

        AJAX 是与服务器交换数据并更新部分网页的艺术,在不重新加载整个页面的情况下。AJAX = 异步 JavaScript 和 XML。 AJAX 是一种用于创建快速动态网页的技术。
        AJAX is not a programming language. It is just a technique for creating better and more interactive web applications.


    图1 使用ajax响应搜索输入

    2.AJAX使用

    2.1 发送请求

        XMLHttpRequest 是 AJAX 的基础。
       如需将请求发送到服务器,我们使用 XMLHttpRequest 对象的 open() 和 send() 方法:

       xmlhttp.open("GET","test1.txt",true);
       xmlhttp.send();
    
    GET 还是 POST?

    与 POST 相比,GET 更简单也更快,并且在大部分情况下都能用。然而,在以下情况中,请使用 POST 请求:

    1. 无法使用缓存文件(更新服务器上的文件或数据库)
    2. 向服务器发送大量数据(POST 没有数据量限制)
    3. 发送包含未知字符的用户输入时,POST 比 GET 更稳定也更可靠

       具体知识以及使用可参考w3school官网

    2.2 接收请求

       如需获得来自服务器的响应,请使用 XMLHttpRequest 对象的 responseText 或 responseXML 属性。

    3.应用实例

       通过ajax请求json数据,并展示。


    图2 案例网页

       网页元素代码:

    <body>
        <div id="container">
            <div id="father">
                <a id="name">XXX</a><a>是一位</a><a id="age">XX</a><a>岁的天才!</a>
                <br />
                <button id="btn" onclick="loadRequest()">变化</button>
            </div>
        </div>
    </body>
    

       js代码:

    <script>
        function loadRequest() {
            var xhr;
            xhr = new XMLHttpRequest();
            xhr.onreadystatechange = function () {
                if (xhr.readyState == 4 && xhr.status == 200) {
                    var data = JSON.parse(xhr.responseText);
                    document.getElementById("name").innerHTML = data.name;
                    document.getElementById("age").innerHTML = data.age;
                }
            }
            xhr.open("GET", "./data.xml", true);
            xhr.send();
        }
    </script>
    

       通过实例化XMLHttpRequest对象,将存储数据的.xml文件中的字符串通过JSON.parse()方法转化为对象,再将对象中的响应数值传输给网页页面元素上。


    图3 数据对象

       页面刷新:


    图4 ajxa响应

    相关文章

      网友评论

          本文标题:Ajax基础

          本文链接:https://www.haomeiwen.com/subject/qpvbuhtx.html