【Javascript】ajax(阿甲克斯)

news2024/11/15 13:28:31

目录

什么是ajax?

同步与异步

原理

注意

写一个ajax请求 

创建ajax对象

设置请求方式和地址

发送请求

设置响应HTTP请求状态变化的函数


什么是ajax?

是基于javascript的一种用于创建快速动态网页的技术,是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术,主要用来在前端页面中向服务器后端请求数据。

以前的ajax:

前后端不分离(前后端写在一起),后端返回整个html 

每次更新⼀些数据,他都会整个⽹⻚刷新

现在的ajax:

ajax帮助我们向服务器发异步请求

同步与异步

事件A,事件B

同步: 完成了A事件才能去处理B事件

异步:在事件A进行中可以进行B事件

原理

通过XmlHttpRequest对象向服务器发异步请求,从服务器获取数据

然后通过js来操作DOM⽽更新⻚⾯

它是在 IE5 中⾸先引⼊的,是⼀种⽀持异步请求的技术

简单的说,也就是 javascript 可以及时向服务器提出请求和处理响应,⽽不阻塞程序运行,达到⽆刷新的效果

注意

JavaScript是单线程的,会阻塞代码运⾏,所以引⼊XmlHttpRequest请求处理异步数据

console.log(1);
console.log(2);
console.log(3);
alert(6);
console.log(4);

4没有打印出来,因为同一个时间只能做同一件事。

当我们点击确定的时候,才能打印出4

 

避免上述的阻塞, 引⼊XmlHttpRequest请求处理异步数据

onsole.log(1);
console.log(2);
console.log(3);
setTimeout(function (){
    console.log(6);
},4000)
console.log(5);

 setTimeout(function (){
    console.log(6);
},4000)

4秒之后打印6

这里的5不用等setTimeout处理完再打印出来

经过4秒之后

 

写一个ajax请求 

创建ajax对象

var a
  if(window.XMLHttpRequest){
      a=XMLHttpRequest;
  }else{
      a=new ActiveXObject("Microsoft.XML HTTP");
  }

首先判断当前的环境下的window全局下有没有 XMLHttpRequest

设置请求方式和地址

 a.open('GET',"http://localhost:xxx");

或 

  a.open('POST',"http://localhost:xxx");

发送请求

  a.send()

设置响应HTTP请求状态变化的函数

/* 
注册事件。 onreadystatechange事件,状态改变时就会调用。
如果要在数据完整请求回来的时候才调用,我们需要手动写一些判断的逻辑。
*/
xhr.onreadystatechange = function () {
  // 为了保证数据完整返回,我们一般会判断两个值
  if (xhr.readyState === 1 && xhr.status === 200) {
    alert(xhr.responseText);
  } else {
    alert('出错了,Err:' + xhr.status);
  }
};

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1141456.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

『力扣刷题本』:合并两个有序链表(递归解法)

一、题目 将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例 1: 输入:l1 [1,2,4], l2 [1,3,4] 输出:[1,1,2,3,4,4]示例 2: 输入:l1 [], l2 [] 输出&#x…

K8s概念汇总-笔记

目录 1.Master 1.1在Master上运⾏着以下关键进程 2.什么是Node? 1.2在每个Node上都运⾏着以下关键进程 3.什么是 Pod ? 4. 什么是Label ? 5.Replication Controller 6.Deployment 6.1Deployment的典型场景: 7.Horizontal Pod Autoscaler TODO…

Node.js的基本概念node -v 和npm -v 这两个命令的作用

Node.js 是一个开源且跨平台的 JavaScript 运行时环境,它可以让你在服务器端运行 JavaScript 代码。Node.js 使用了 Chrome 的 V8 JavaScript 引擎来执行代码,非常高效。 在 Node.js 出现之前,JavaScript 通常只在浏览器中运行,用…

物联网和互联网医院小程序:如何实现医疗设备的远程监测和管理?

物联网(IoT)技术的发展为医疗设备的远程监测和管理提供了巨大的机会。结合互联网医院小程序,我们可以实现对医疗设备的远程访问、监控和管理,从而提高医疗服务的质量和效率。本文将介绍如何实现医疗设备的远程监测和管理&#xff…

漏洞复现-phpmyadmin_SQL注入 (CVE-2020-5504)

phpmyadmin SQL注入 _(CVE-2020-5504) 漏洞信息 CVE-2020-5504sql注入漏洞Phpmyadmin 5.00以下 描述 ​ phpMyAdmin是Phpmyadmin团队的一套免费的、基于Web的MySQL数据库管理工具。该工具能够创建和删除数据库,创建、删除、修改数据库表&…

Microsoft.Extensions 简介

Microsoft.Extensions 简介 一、Microsoft.Extensions 简介 .NET Extensions 是一套官方的、开源的、跨平台的 API 集合,提供了一些常用的编程模式和实用工具,例如依赖项注入、日志记录、缓存、Host以及配置等等。该项目的大多数 API 都被用在 .NET 平…

Ocelot简易教程目录

Ocelot简易教程目录 这里写目录标题 Ocelot简易教程目录 Ocelot简易教程(一)之Ocelot是什么Ocelot简易教程(二)之快速开始1Ocelot简易教程(二)之快速开始2Ocelot简易教程(三)之主要特…

计算机网络基础一

任务背景 由于某些原因,某公司搬迁至新地方,现需要对公司网络环境重新调整规划,申请了一个 B 类 IP 地址 : 172.25.0.0 ,子 网掩码为 255.255.224.0 。需要根据公司部门和电脑数进行子网划分并分配 IP 。公司目前有 6 个部门&am…

如何监听/抓取两个设备/芯片之间“UART串口”通信数据--监视TXD和RXD

案例背景&#xff1a;全网仅此一篇&#xff01;&#xff01;&#xff01; 两个设备/芯片之间采用UART串口通信。我们如何实现芯片1 TXD – > 芯片2 RXD&#xff0c;芯片2 TXD <-- 芯片1 RXD两个单线链路上的数据抓取和监听&#xff1f;这篇博客将告诉您。 目录 1 什么是…

VR结合|山海鲸虚拟展厅解决方案

方案背景 虚拟现实技术是另一项革命性的创新&#xff0c;它可以将用户带入一个完全虚拟的环境中。借助VR头盔和控制器&#xff0c;用户可以亲临虚拟现实中&#xff0c;与数字世界互动&#xff0c;仿佛置身于其中。 山海鲸根据用户实际需求变化将数字孪生与虚拟现实技术相结合…

EtherNet/IP转profienrt协议网关连接EtherNet/IP协议的川崎机器人配置方法

EthernetIP 协议一般用于采集机器人&#xff0c;控制器等设备的数据。 下面介绍通过远创智控YC-EIPM-PN网关把EtherNet/IP协议的川崎机器人通过西门子1500PLC的控制方法。有些 EIP 的从站设备提供了 EDS 文件&#xff0c;可以从EDS 文件中获取点位信息。这些信息是需要填写到网…

nginx配置反向代理和动静分离应用

一. Nginx配置反向代理和实现动静分离与虚拟主机流程图&#xff1a; 二 .Nginx配置反向代理和实现动静分离与虚拟主机实现详细配置和效果图 2.1 nginx 配置反向代理 #在nginx.conf配置server同级下配置 include tomcat.conf# vim tomcat.conf upstream api.z.mukewang.com{…

docker应用部署---Tomcat的部署配置

1. 搜索tomcat镜像 docker search tomcat2. 拉取tomcat镜像 docker pull tomcat3. 创建容器&#xff0c;设置端口映射、目录映射 # 在/root目录下创建tomcat目录用于存储tomcat数据信息 mkdir ~/tomcat cd ~/tomcatdocker run -id --namec_tomcat \ -p 8080:8080 \ -v $PWD:…

设计模式之桥梁模式

什么是桥梁模式 桥梁模式&#xff08;Bridge Pattern&#xff09;也称为桥接模式&#xff0c;属于结构型模式&#xff0c;它主要目的是通过组合的方式建立两个类之间的联系&#xff0c;而不是继承。桥梁模式将抽象部分与它的具体实现部分分离&#xff0c;使它们都可以独立地变…

python3飞机大战源码(让小白做出第一个飞机大战游戏)

让小白做出第一个飞机大战游戏 配置环境 pip install pygame 安装依赖包 目录层级&#xff0c;在飞机的文件夹下面有2个文件一个是代码文件plan.main一个是图片文件images 下载下面的四张图片&#xff0c;改名字后并放到指定的文件夹中&#xff08;图片都是png格式&#xff09…

数据库和sql语句

一、数据库和sql语句 &#xff08;一&#xff09;数据库的相关概念 1、数据&#xff1a;数据信息。据&#xff1a;属性&#xff0c;对一系列对象的具体属性的描述的集合 2、数据库&#xff1a;用来组织&#xff08;表示各个数据之间是有关联的&#xff0c;按照规则组织起来&…

【QT】信号和槽能自动传递参数

一、前置示例代码 main.cpp #include "widget.h"#include <QApplication>int main(int argc, char *argv[]) {QApplication a(argc, argv); // 应用程序对象a&#xff0c;在Qt中&#xff0c;应用程序对象&#xff0c;有且仅有一个。Widget w; // 窗口对…

2023年09月 Python(一级)真题解析#中国电子学会#全国青少年软件编程等级考试

Python等级考试&#xff08;1~6级&#xff09;全部真题・点这里 一、单选题&#xff08;共25题&#xff0c;每题2分&#xff0c;共50分&#xff09; 第1题 下列 Python 语句能够正确输出"学而时习之"五个字的是&#xff1f;&#xff08; &#xff09; A: print “…

springboot项目打jar包,运行时提示jar中没有主清单属性

可能性一&#xff1a; 没有在pom中加入maven插件 在pom中加入下方代码即可。 <build><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><version>3.8.1</ve…

电脑定时关机

电脑定时关机 1.右键 管理 2. 3. 4. 5. shutdown.exe/s /f /t 06.点击完成就好了 7.这里面可以 看到定时任务和启动 右键有运行 结束 禁用