AJAX(Web数据交互方式)

使用 Ajax 技术网页应用能够快速地将增量更新呈现在用户界面上,而不需要重载(刷新)整个页面,这使得程序能够更快地回应用户的操作。

AJAX

一. 什么是 AJAX?

AJAX 全称:Asynchronous Javascript And XML(异步的 JavaScript 与 XML)
网页的局部刷新技术,网页不需要刷新整个页面来更新部分网页数据

二. 原始的 JS 创建 AJAX 步骤(☆)

  1. 创建 AJAX 的核心对象,XMLHttpRequest 根据不同的浏览器来创建相对应的Ajax对象
var req;
if(window.XMLHttpRequest){
    // 非IE
    req = new XMLHttpRequest();
}else {
    // IE
    req = new ActiveXObject("Microsoft.XMLHTTP");
}
  1. 与服务器进行连接
// 第一个参数:提交方式 get 或 post
// 第二个参数:访问后台的 URL
// 第三个参数:是否异步,true 表示异步,false 表示同步
req.open("post", url, true);
  1. 发送请求
req.send();

// get方式:index?id=1
req.send(null);

// post方式: 设置编码方式
req.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
var data = "id=" + 1;
req.send(data);
  1. 指定回调函数,接收后台返回值(绑定回调函数 / 状态监听函数)
req.onreadystatechange = function() {
    // AJAX 状态是否等于4,状态为4表示完成了整个请求
    if(req.readyState == 4) {
        // HTTP 状态等于200
        if(req.status == 200) {
            // 处理返回值
            var info = req.responseText;
        }
    }
}

三. readyState 属性值(AJAX 的状态)

状态值 描述 0 表示”未初始化状态”,已经创建好 XMLHttpRequest 对象,但没有初始化 1 表示”载入状态”,XMLHttpRequest 调用了 open 函数,但没有发送请求 2 表示”发送状态”,XMLHttpRequest 调用了 send 函数,发送请求 3 表示”接收状态”,Servlet 已经接收到 HTTP 请求,但没有执行完毕 4 表示”已加载状态”,完全被接收,并且处理完成,前端 AJAX 可以接收返回值

Original: https://www.cnblogs.com/xiqingbo/p/front-end-11.html
Author: Schieber
Title: AJAX(Web数据交互方式)

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/598684/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • writeset参数配置探索——究竟在哪个角色上配置参数?

    关于writeset,一直以来我都是所有节点同时配置下面参数: binlog_transaction_dependency_tracking=WRITESET transactio…

    数据库 2023年6月16日
    087
  • Node.js安装

    nvm NVM: Node Version Manager 下载地址 Mac/Linux安装 nvm:https://github.com/nvm-sh/nvm Windows 安…

    数据库 2023年6月6日
    098
  • 教师节我用Python做了个学生点名系统送给老师当礼物,这回毕业稳了

    今年教师节前夕,我特意用Python做了个学生点名系统,非常好用,送给各科老师、辅导员当节日礼物,老师们都喜滋滋,说平常逃课就原谅我了,我心想,这次毕业应该不是问题了~ 本文背景 …

    数据库 2023年6月14日
    090
  • 在启动mysql时,执行service mysqld start报错,不能进入Mysql

    在启动mysql时,执行 service mysqld start报错,不能进入Mysql执行 systemctl restart mysqld.service 成功进入! Ori…

    数据库 2023年6月11日
    0106
  • vmstate 命令详解2022

    vmstat 是一个查看虚拟内存(Virtual Memory)使用状况的工具,但是怎样通过 vmstat 来发现系统中的瓶颈呢? 1。 使用vmstat 使用前我们先看下命令介绍…

    数据库 2023年6月14日
    0103
  • 深入浅出分析 HashMap

    作者:炸鸡可乐原文出处:www.pzblog.cn 一、摘要 在集合系列的第一章,咱们了解到,Map的实现类有HashMap、LinkedHashMap、TreeMap、Ident…

    数据库 2023年6月14日
    084
  • ReentrantLock可重入、可打断、Condition原理剖析

    本文紧接上文的AQS源码,如果对于ReentrantLock没有基础可以先阅读我的上一篇文章学习ReentrantLock的源码 重入加锁其实就是将AQS的state进行加一操作 …

    数据库 2023年6月11日
    092
  • Docker Bridge 网络原理

    Docker 的网络子系统是可插拔驱动式的,默认情况下存在或支持多种网络接口,如 bridge、host、overlay、macvlan 以及 none 类型的网络接口。 brid…

    数据库 2023年6月6日
    0115
  • IDEA springboot “spring-boot-maven-plugin“报红问题的解决方法

    使用环境 项目环境:Idea 2020.2.3、 Maven 3.6.3 、springboot 2.1.4 本人在创建springboot项目时spring-boot-maven…

    数据库 2023年6月14日
    092
  • MYSQL–>SQL语法

    注:DDL(Data definition Language)数据库定义(比如说表,数据库)DML(Data Mainpulation Language)数据库 表的增删改查DQL…

    数据库 2023年5月24日
    0127
  • 编程书单

    前言 : 一开始我是不太关注技术书的, 但是直到在知乎看到了北邮人论坛转载的那个书单之后, 我才开始关注技术书尤其是技术书单. 现在我认为读技术书的效果会比看视频效果好, 但是最高…

    数据库 2023年6月11日
    088
  • 第五届蓝帽杯-溯源取证wp

    直接使用vmdk文件创建虚拟机,结果弹出提示 点击全部允许之后,进不去系统,到达了initramfs页面 由于提供的vmdk文件只有1G大小,将其转回raw文件,发现有10个G的大…

    数据库 2023年6月11日
    0125
  • MYSQL–>SQL语法

    注:DDL(Data definition Language)数据库定义(比如说表,数据库)DML(Data Mainpulation Language)数据库 表的增删改查DQL…

    数据库 2023年6月14日
    063
  • Python 3.10 is coming!

    看看Python 官网的文档 whatsnew,Python 3.10 已然距离我们越来越近了,然我们看看 Python 3.10 相较于 Python 3.9 有哪些改变吧 新特…

    数据库 2023年6月6日
    0112
  • Java并发编程之AQS以及源码解析

    文章目录 概览 实现思路 实现原理 * 源自CLH锁 AQS数据模型 CAS操作 主要方法 * 自定义同步器的实现方法 AQS定义的模板方法 源码解读 * 等待状态释义 AQS获取…

    数据库 2023年6月6日
    092
  • 链表(Java)实现

    链表 先给出自定义的list接口,后面几种链表的实现了该接口 public interface List { //统计顺序表元素个数 int size(); //判断顺序表是否为空…

    数据库 2023年6月16日
    094
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球