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日

相关文章

  • js将long日期格式转换为标准日期格式实现思路

    将long日期格式转换为标准日期格式,可以按照以下步骤进行操作: 获取long日期值 首先,我们需要获取包含long日期值的变量,可以是从数据库中查询到的时间戳,或者是前端传递过来的时间戳等。 示例1:获取当前时间戳 var timestamp = Date.now(); 示例2:获取后端传递过来的时间戳 var timestamp = response.d…

    JavaScript 2023年6月10日
    00
  • JavaScript针对网页节点的增删改查用法实例

    当我们开发一个网页时,我们经常需要对页面节点进行操作。例如,添加一个新的节点,删除一个旧的节点,修改一个已有节点,或查找某个特定的节点。JavaScript提供了强大的功能来完成这些任务。在这里,我将为你讲解如何使用JavaScript来增删改查网页节点。 增加节点 在JavaScript中,我们可以通过创建一个新的节点并将其附加到现有的节点上来添加新的内容…

    JavaScript 2023年6月10日
    00
  • JavaScript高级程序设计 阅读笔记(十三) js定义类或对象

    JavaScript高级程序设计第十三章主要讲述了JavaScript中定义类或对象的方式及相关概念,包括工厂模式、构造函数模式、原型模式、组合模式等。下面我会针对这些主题进行详细讲解。 工厂模式 工厂模式是一种创建对象的方法,它利用函数来创建不同类型的对象。可以通过工厂模式来创建任意数量的对象。它的一个关键优势是,它可以隐藏创建对象的细节,使得外部代码只需…

    JavaScript 2023年5月27日
    00
  • JavaScript原型链中函数和对象的理解

    让我来详细讲解一下“JavaScript原型链中函数和对象的理解”的完整攻略。 理解JavaScript中的对象 在JavaScript中,对象是拥有属性的数据结构,一般用来表示现实中的实体或概念。例如,一个人可以当作一个对象,姓名、年龄、性别等属性则是这个对象的属性。JavaScript中的对象是由一些键值对组成的,每个键值对称之为一个属性,其中的键则称之…

    JavaScript 2023年5月27日
    00
  • document节点对象的获取方式示例介绍

    下面是对“document节点对象的获取方式示例介绍”的完整攻略: 获取document节点对象的方式 在JavaScript中,我们可以使用以下方法获取document节点对象: 通过document全局变量获取 当我们在文档中编写JavaScript时,document对象已经存在。通过全局变量document可以直接获取到当前文档的document节点…

    JavaScript 2023年6月10日
    00
  • ionic隐藏tabs的方法

    首先我们需要理解什么是Ionic的Tabs组件。 Ionic Tabs是用于创建可以在不同标签页之间切换的选项卡的组件,它通常由Tab bar和Tab内容页面组成。默认情况下,Tab bar始终可见,不过在某些场景下(如登录页)我们可能需要隐藏Tab bar。 接下来,我们来看一下如何隐藏Ionic Tabs。 方法1:使用ion-tabs组件中的ion-h…

    JavaScript 2023年6月10日
    00
  • JavaScript字符串对象slice方法入门实例(用于字符串截取)

    JavaScript字符串对象slice方法入门实例 在JavaScript中,字符串对象是非常常用的数据类型,其内置的方法也非常丰富。其中一个方法就是slice()方法,这个方法可以用于截取字符串,下面就来详细讲解如何使用slice方法。 什么是slice方法? 我们先来看看slice方法的定义: String.slice(beginIndex[, end…

    JavaScript 2023年5月28日
    00
  • 微信小程序 Animation实现图片旋转动画示例

    请看下面的详细讲解。 Animation实现图片旋转动画示例——完整攻略 1. Animation是什么? Animation是微信小程序的动画库,其中包含了动画的创建、操作和控制等多种函数,可以实现各种炫酷的动画效果。 2. 如何创建Animation对象? 我们可以使用wx.createAnimation()函数来创建一个Animation对象。下面是这…

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