Ajax+js实现异步交互

yizhihongxing

实现"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日

相关文章

  • jQuery Ajax 全局调用封装实例代码详解

    jQuery Ajax全局调用封装实例代码详解 在前端开发中,Ajax作为异步通信技术已经得到了广泛的应用。而通过jQuery库封装的Ajax则在开发中变得更加方便,让我们更加容易地处理数据请求和响应。本文将会详细介绍如何将jQuery的Ajax进行全局封装调用,以及如何实现Ajax的参数传递和数据处理。 前置知识 在进行本文讲解前,需要了解一些JavaSc…

    JavaScript 2023年6月11日
    00
  • JS实现微信里判断页面是否被分享成功的方法

    实现微信里判断页面是否被分享成功的方法主要需要借助微信JS-SDK提供的能力。以下是实现步骤: 步骤一:引入微信JS-SDK 首先,在网站中引入微信JS-SDK相关代码。代码示例如下: <script src="http://res.wx.qq.com/open/js/jweixin-1.6.0.js"></script…

    JavaScript 2023年6月11日
    00
  • 9个JavaScript日常开发小技巧

    当然!以下是“9个JavaScript日常开发小技巧”的完整攻略: 1. 使用console.table()格式化输出数组/对象 在日常开发中,我们常常需要输出数组/对象信息以便于调试。但是,如果直接使用console.log()输出,往往难以看清楚其中结构和数据。这时候,我们可以使用console.table()方法,可以使用表格的形式格式化输出数组/对象…

    JavaScript 2023年5月18日
    00
  • JS开发 富文本编辑器TinyMCE详解

    JS开发 富文本编辑器TinyMCE详解 什么是TinyMCE TinyMCE是一款完全基于JavaScript的开源富文本编辑器,它是一个丰富、灵活的工具,可以帮助我们创建各种各样的文档内容。它支持各种格式的文本、图片、表格等元素,并且能够保留你所选样式的完整性和可编辑性。 基本用法 引入TinyMCE 我们首先要引入TinyMCE的JavaScript文…

    JavaScript 2023年6月11日
    00
  • JavaScript知识点总结(四)之逻辑OR运算符详解

    下面就详细讲解“JavaScript知识点总结(四)之逻辑OR运算符详解”的完整攻略。 1. 什么是逻辑OR运算符? 逻辑OR运算符是JavaScript中的一种运算符,用来判断两个表达式中,只有一个表达式为true时,整个表达式才会返回true,否则返回false。在JavaScript中,逻辑OR运算符使用两个竖线符号||表示。 2. 逻辑OR运算符的语…

    JavaScript 2023年5月28日
    00
  • js Math数学简单使用操作示例

    下面是关于“js Math数学简单使用操作示例”的完整攻略。 一、Math对象概述 JavaScript的内置对象之一是Math对象,它包含了许多常见的数学函数和常量。Math主要对数字进行操作,例如数学运算、幂运算、三角函数等。 二、Math对象中的常用方法 下面是 Math 对象中一些常用方法的介绍: 1. Math.floor() Math.floor…

    JavaScript 2023年5月27日
    00
  • JS实现百度搜索框

    下面我来为你详细讲解 “JS实现百度搜索框”的攻略。 准备工作 在代码实现之前,我们需要先对百度搜索框的结构进行分析。可以发现,百度搜索框包含一段文本输入框和一个搜索按钮。在代码编写前,需要创建两个HTML元素分别代表文本输入框和搜索按钮,并设置相关属性。 <input type="text" name="search&q…

    JavaScript 2023年6月10日
    00
  • JavaScript实现对下拉列表值进行排序的方法

    当需要对下拉列表的值进行排序时,我们可以通过JavaScript的排序方法来实现。下面是一些实现方法: 方法一:使用数组排序 首先,我们需要获取下拉列表的所有选项,并将其存储在一个数组中。然后,使用JavaScript中的sort()函数对数组进行排序。最后,将排序后的值重新设置回下拉列表。 下面是代码示例: // 获取下拉列表对象 var dropdown…

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