Ajax+js实现异步交互

实现"Ajax+js实现异步交互"的具体步骤如下:

  1. 创建 XMLHttpRequest 对象

使用Js 中的 XMLHttpRequest 对象创建Ajax请求,该对象用来与服务器交互,从服务器请求数据和处理响应。

var xmlhttp;
if (window.XMLHttpRequest) {
    // IE7+, Firefox, Chrome, Opera, Safari 浏览器建立XMLHttpRequest对象
    xmlhttp = new XMLHttpRequest();
} else {
    // IE6, IE5 浏览器建立XMLHttpRequest对象
    xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
  1. 规定要请求的 URL

使用 xmlhttp.open("GET", "url", true) 函数规定要请求的 URL ,第三个参数为true表示要进行异步请求,即AJAX操作。

  1. 发送请求

使用 xmlhttp.send() 函数发送请求。

xmlhttp.open("GET", "demo_get.asp", true);
xmlhttp.send();
  1. 接收响应

使用 xmlhttp.onreadystatechange 事件监听响应,该事件在请求接收到响应时执行。

  • 判断请求状态 xmlhttp.readyState ,以便判断是否有响应值。状态码如下:
0: 请求未初始化
1: 服务器连接已经建立
2: 请求已接收
3: 请求处理中
4: 请求已完成,且响应已就绪
  • 根据请求状态的值判断相应动作
xmlhttp.onreadystatechange = function() {
    if (this.readyState == 4 && this.status == 200) {
        document.getElementById("demo").innerHTML = this.responseText;
    }
};

示例一:

<html>
    <head>
        <meta charset="UTF-8">
        <title>AJAX数据请求</title>
    </head>
    <body>
        <div id="txtHint"><button onclick="showHint()">获取数据</button></div>
        <script>
            function showHint() {
                var xmlhttp;
                if (window.XMLHttpRequest) {
                    // IE7+, Firefox, Chrome, Opera, Safari 浏览器建立XMLHttpRequest对象
                    xmlhttp = new XMLHttpRequest();
                } else {
                    // IE6, IE5 浏览器建立XMLHttpRequest对象
                    xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
                }
                xmlhttp.onreadystatechange = function() {
                    if (this.readyState == 4 && this.status == 200) {
                        document.getElementById("txtHint").innerHTML = this.responseText;
                    }
                };
                xmlhttp.open("GET", "ajax_info.txt", true);
                xmlhttp.send();
            }
        </script>
    </body>
</html>

大致脚本说明:

  • 创建一个函数showHint,在点击按钮时触发。
  • 创建一个XMLHttpRequest对象,判断浏览器是否支持。
  • 判断响应状态码(使用readyStatestatus)。
  • 请求方法是HTTP GET,并指定需要获取数据的URL。
  • 最后发送请求(使用send())。

示例二:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>AJAX数据请求</title>
    </head>
    <body>
        <h1>使用AJAX技术获取XML数据:</h1>
        <div id="id01"></div>
        <br>
        <h1>使用AJAX技术获取JSON数据:</h1>
        <div id="id02"></div>
        <script>
            //获取xml
            var xmlHttp = new XMLHttpRequest();
            xmlHttp.onreadystatechange = function () {
                if (xmlHttp.readyState === 4 && xmlHttp.status === 200) {
                    var xmlDoc = xmlHttp.responseXML;
                    var txt = "";
                    var x = xmlDoc.getElementsByTagName("title");
                    for (i = 0; i < x.length; i++) {
                        txt += x[i].childNodes[0].nodeValue + "<br>";
                    }
                    document.getElementById("id01").innerHTML = txt;
                }
            };
            xmlHttp.open("GET", "cd_catalog.xml", true);
            xmlHttp.send();

            //获取json
            var jsonHttp = new XMLHttpRequest();
            jsonHttp.onreadystatechange = function () {
                if (this.readyState === 4 && this.status === 200) {
                    var myObj = JSON.parse(this.responseText);
                    var output = "";
                    for (i in myObj) {
                        output += "<p>" + myObj[i].title + "</p>";
                    }
                    document.getElementById("id02").innerHTML = output;
                }
            };
            jsonHttp.open("GET", "cd_catalog.json", true);
            jsonHttp.send();
        </script>
    </body>
</html>

大致脚本说明:

  • 创建两个XMLHttpRequest对象,分别用于获取XML和JSON数据。
  • XML请求将数据渲染到一个div里,JSON请求将数据渲染为一系列<p>元素。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Ajax+js实现异步交互 - Python技术站

(0)
上一篇 2023年6月11日
下一篇 2023年6月11日

相关文章

  • javascript Canvas动态粒子连线

    下面是关于“javascript Canvas动态粒子连线”的完整攻略。 什么是Canvas动态粒子连线? Canvas动态粒子连线是一种使用canvas绘图技术实现的特效,它通过创建多个粒子,并且使多个粒子之间产生连线,形成各种炫酷的效果,比如烟花绽放、星空闪烁等。这种效果可以通过JavaScript代码实现,而且应用广泛,被用于各种类型的网页和应用程序中…

    JavaScript 2023年6月10日
    00
  • uniapp实现人脸识别功能的具体实现代码

    实现人脸识别功能需要用到Uniapp的uni plugins插件,其中uni.plugins.facedetect插件可以用于实现人脸识别。 下面是实现人脸识别的代码示例: 引入uni.plugins.facedetect插件 import faceDetect from ‘@/uni_modules/facedetect/js_sdk/face_detec…

    JavaScript 2023年5月19日
    00
  • Python3实现飞机大战游戏

    Python3实现飞机大战游戏攻略 1. 准备工作 在开始编写游戏代码之前,需要安装好Pygame库。 在Windows系统下可以使用pip命令进行安装: pip install pygame 在Linux系统下可以使用以下命令安装: sudo apt-get install python3-pygame 2. 创建窗口 使用Pygame库创建游戏窗口的代码…

    JavaScript 2023年6月11日
    00
  • js学习总结之DOM2兼容处理重复问题的解决方法

    js学习总结之DOM2兼容处理重复问题的解决方法 1. 什么是DOM2兼容问题 在早期浏览器中,对于DOM(文档对象模型)的实现存在很大差异。其中一个最明显的差异是很多浏览器不支持DOM2规范。在这种情况下,我们使用JavaScript操作DOM时会遇到一些兼容性问题,比如不能使用document.getElementById()方法获取DOM元素。 2. …

    JavaScript 2023年6月10日
    00
  • setTimeout函数兼容各主流浏览器运行执行效果实例

    下面我就来详细讲解一下如何使用 setTimeout 函数兼容各主流浏览器运行执行效果的完整攻略。 1. setTimeout 函数的基本使用 setTimeout 函数是 JavaScript 中一个比较常见的函数,用于在一定时间后执行一些操作。其基本语法为: setTimeout(function, milliseconds, param1, param…

    JavaScript 2023年6月11日
    00
  • JavaScript中Dom操作实例详解

    JavaScript中Dom操作实例详解 什么是Dom Dom,即Document Object Model,指的是文档对象模型。 它是一个用于HTML和XML文档的编程接口,可以改变或者操作文档的内容、结构和样式。 通过Dom,我们可以像操作HTML页面一样,动态地修改页面上的内容和样式,实现网页的交互和动态效果。 Dom元素的选取 通过Dom元素的选取,…

    JavaScript 2023年6月10日
    00
  • JS中使用apply方法通过不同数量的参数调用函数的方法

    JS中的apply方法用于调用函数,并使用指定的参数数组。它是一个方法,可以在任何函数上使用。apply方法的第一个参数是由函数运行的上下文;this指针指向该对象。apply方法的第二个参数是一个数组,代表传递给调用函数的参数。apply方法不能在调用”use strict”的函数上使用,因为在严格模式下,调用一个null或undefined值的函数的th…

    JavaScript 2023年6月10日
    00
  • javascript 易错知识点实例小结

    JavaScript 易错知识点实例小结 在编写 JavaScript 代码的过程中,会遇到一些易错的知识点,可能会导致出现预期外的结果,甚至是程序的崩溃。因此,我们需要了解这些易错知识点,并采取正确的措施避免这些问题的发生。在本文中,我们将详细讲解 JavaScript 易错知识点,并提供实例来帮助读者更好地理解。 目录 变量提升 this 关键字 闭包 …

    JavaScript 2023年6月10日
    00
合作推广
合作推广
分享本页
返回顶部