认识AJAX

一、什么是Ajax?

有跳转就是同步,无跳转就是异步

 Asynchronous Javascript And XML(异步JavaScript和XML)

  • Ajax = 异步 JavaScript 和XML。
  • Ajax是一种用于创建快速动态网页的技术
  • 通过在后台与服务器进行少量数据交换,Ajax可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新
  • 传统的网页(不使用 Ajax)如果需要更新内容,必需重载整个网页面
  • Ajax 不是一种新的编程语言,而是一种用于创建更好更快以及交互性更强的Web应用程序的技术

 使用AJAX可以局部刷新(异步无刷新技术),提高用户体验(百度页面是整个刷新

 XML已经完全被JSON替代,JSON是当前前后端数据交换的一种格式

二.AJAX的使用步骤

 1.创建HTTP请求对象

   

var  xhr = new XMLHttpRequest()

   

 2.打开服务器的连接,设置要请求的接口

   

xhr.open(参数1, 参数2, 参数3)

   

参数1:接口的请求方式,格式为大写,例如: GET  POST...

   

参数2:接口的地址

   

参数3:是否为异步  true->异步   false->同步    默认是异步

   

 3.发送请求

   

xhr.send()

   

 4.绑定事件,监听服务器端响应

   

xhr.onload  = function(){

   

     xhr.responseText   获取接口响应结果

   

}

   

<!DOCTYPE html><html><head><meta charset="utf-8"><title>用户登录——AJAX版</title></head><body>用户<input type="text" id="user"><br>密码<input type="text" id="pwd"><br><button id="btn">登录</button><script>// 给按钮绑定点击事件,点击后获取用户名和密码,然后向后端发请求(AJAX),传递用户名和密码btn.onclick=function(){// alert('点击了')// 获取用户输入的用户名和密码var a=user.valuevar b=pwd.valueconsole.log(a,b)// 向后端发请求的行为叫做AJAX// 1.创建HTTP请求对象var xhr=new XMLHttpRequest()// 2.打开服务器连接(请求接口)// 参数1:接口请求方式(标准写法是大写)// 参数2:接口地址// 参数3:是否为异步 true->异步 false->同步// get请求的参数要拼接到url后xhr.open('GET',`http://127.0.0.1:3000/login?user=${a}&pwd=${b}`,true)// 3.发送请求xhr.send()// 4.绑定事件,监听服务器端响应// 只要有响应就自动调取xhr.onload=function(){// 获取响应结果,响应结果都在响应体里面console.log(xhr.responseText)}}</script></body></html>

三.AJAX传参

  1.get传递

    直接将参数拼接在URL中

    http://127.0.0.1:3000/check?a=1&b=2

  2.post传递

   将参数放入到请求体中,还需要设置编码类型

   

设置编码类型

   

xhr.setRequestHeader('Content-Type',  'application/x-www-form-urlencoded;charset=utf-8')

   

将参数放入到请求体

   

xhr.send('a=1&b=2')

   

四.JSON

后端给前端返回(前端也可以给后端),接口返回结果

 叫做JS对象表示法,使用JS对象的格式去描述一组数据,是前后端数据交换的一种格式

 属性名必须使用双引号,属性值是字符串必须是双引号

 JS和JSON之间可以相互转换

  (1)将JS转为JSON(序列化)

     JSON.stringify()  

  (2)将JSON转为JS(反序列化)

     JSON.parse()

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

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

相关文章

Java 1.8 docker 镜像制作

文章目录 一、下载文件二、精简JRE三、Dockerfile四、构建镜像五、容器测试 一、下载文件 glibc 下载地址 glibc-2.35-r1.apk glibc-bin-2.35-r1.apk glibc-i18n-2.35-r1.apk rsa sgerrand.rsa.pub jre 1.8 jre-8u201-linux-x64.tar.gz 二、精简JRE 解压 tar -zxvf jre-8…

LeetCode209. 长度最小的子数组(C++)

LeetCode209. 长度最小的子数组 题目链接代码 题目链接 https://leetcode.cn/problems/minimum-size-subarray-sum/description 代码 class Solution { public:int minSubArrayLen(int target, vector<int>& nums) {int result INT32_MAX;int sum 0;int length…

2.27作业

1.二叉树的中序和后序遍历 //中序遍历:左根右 void mid(tree_p T) {if(TNULL){return;} mid(T->lchild); printf("%c->",T->data);mid(T->rchild); }//后序遍历:左右根 void aft(tree_p T) {if(TNULL){return;} aft(T->lchild); aft(T->rc…

中国大学科技园联盟携优积科技走进晋江 探索校地双向赋能新路径

8月10日&#xff0c;中国大学科技园联盟走进晋江系列活动暨第七届“海峡杯”福建&#xff08;晋江&#xff09;创新创业大赛正式启动。晋江市市委书记张文贤、市委副书记、市长王明元等领导参加活动。优积科技作为同济大学科技园企业&#xff0c;CEO刘其东受邀出席此次活动。 国…

【底层学习】ArrayList源码学习

成员变量 学习源码前&#xff0c;我们还是先看一下ArrayList中成员变量有哪些 构造函数 ArrayList一共有三个构造函数。 第一个&#xff1a;带有指定初始容量的构造函数 第二个&#xff1a;空参构造 第三个&#xff1a;包含指定集合的构造函数 OK&#xff0c;看完构造函数&a…

Airtest-Selenium实操小课③:下载可爱猫猫图片

1. 前言 那么这周我们看看如何实现使用Airtest-Selenium实现自动搜索下载可爱的猫猫图片吧~ 2. 需求分析和准备 整体的需求大致可以分为以下步骤&#xff1a; 打开chrome浏览器 打开百度网页 搜索“可爱猫猫图片” 定位图片元素 创建存储图片的文件夹 下载可爱猫猫图片…

C#,数值计算,求解微分方程的吉尔(Gear)四阶方法与源代码

1 微分方程 微分方程&#xff0c;是指含有未知函数及其导数的关系式。解微分方程就是找出未知函数。 微分方程是伴随着微积分学一起发展起来的。微积分学的奠基人Newton和Leibniz的著作中都处理过与微分方程有关的问题。微分方程的应用十分广泛&#xff0c;可以解决许多与导数…

Centos服务器部署前后端项目

目录 准备工作1. 准备传输软件2. 连接服务器 部署Mysql1.下载Mysql(Linux版本)2. 解压3. 修改配置4. 启动服务另一种方法Docker 部署后端1. 在项目根目录中创建Dockerfile文件写入2. 启动 部署前端1. 在项目根目录中创建Dockerfile文件写入2. 启动 准备工作 1. 准备传输软件 …

数据结构-关键路径

介绍 在AOV网的基础上&#xff0c;如果用对应边来表示活动持续时间&#xff0c;这种有向图被称为AOE网在AOE网中&#xff0c;入度为0的为源点&#xff0c;出度为0的为汇点&#xff0c;整张网看做是一件事情完成的过程&#xff0c;那么这两个点就是事情的开始和结束。每个活动持…

MyBatis进阶

目录 一、实现多表查询 二、#{}和${} 1、#{}和${}的使用 2、#{}和${}的区别 3、${}的使用场景 三、数据库连接池 1、数据库连接池概念 2、常见数据库连接池 3、修改连接池为Hikari 四、动态sql语句--xml 1、if标签 2、tirm标签 3、where标签 4、set标签 5、fore…

win10开机黑屏,只有鼠标,解决方案

问题描述 win10进不去桌面&#xff0c;可以进去锁屏&#xff0c;只有鼠标&#xff0c;也能进去任务管理器&#xff08;ctrlwindelete&#xff09;, 问题分析 进入任务管理器->文件->运行新任务 然后输入 explorer.exe 发现找不到了 原因&#xff1a;误删explorer.exe …

Kubernetes部署及运用

Kubernetes 1. Kubernetes介绍 1.1 应用部署方式演变 在部署应用程序的方式上&#xff0c;主要经历了三个时代&#xff1a; 传统部署&#xff1a;互联网早期&#xff0c;会直接将应用程序部署在物理机上 优点&#xff1a;简单&#xff0c;不需要其它技术的参与 缺点&#xf…

【kubernetes】关于k8s集群中kubectl的陈述式资源管理

目录 一、k8s集群资源管理方式分类&#xff1a; &#xff08;1&#xff09;陈述式资源管理方式&#xff1a;增删查比较方便&#xff0c;但是改非常不方便 &#xff08;2&#xff09;声明式资源管理方式&#xff1a;yaml文件管理 二、陈述式资源管理方法&#xff1a; 三、ku…

GCN,R-GCN,岭回归,SVR,随机森林,Adaboost

图卷积神经网络(graph convolutional network, GCN),它将卷积神经网络拓展到图结构形式 中&#xff0c;GCN因可以很好地融合图结构数据的结构特征和属性特征并且有较好的组合泛化能力而被广泛使用。 关系图卷积神经网络(relational-graph convolutional network, R-GCN)&#…

事件循环解析

浏览器的进程模型 何为进程&#xff1f; 程序运行需要有它自己专属的内存空间&#xff0c;可以把这块内存空间简单的理解为进程 每个应用至少有一个进程&#xff0c;进程之间相互独立&#xff0c;即使要通信&#xff0c;也需要双方同意。 何为线程&#xff1f; 有了进程后&…

蓝桥杯STM32G431RBT6实现按键的单击、双击、长按的识别

阅读引言&#xff1a; 是这样&#xff0c; 我也参加了这个第十五届的蓝桥杯&#xff0c;查看竞赛提纲的时候发现有按键的双击识别&#xff0c; 接着我就自己实现了一个按键双击的识别&#xff0c;但是识别效果不是特别理想&#xff0c;偶尔会出现识别不准确的情况&#xff0c;接…

lv21 QT 常用控件 2

1 QT GUI 类继承简介 布局管理器 输出控件 输入控件 按钮 容器 2 按钮示例 #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include <QCheckBox> #include <QLineEdit> #include <QPushButton>class Widget : public QWidget {Q_OBJECTpublic…

Groovy(第五节) Groovy 之集合

Groovy 可以直接在语言内使用集合。在 Groovy 中,不需要导入专门的类,也不需要初始化对象。集合是语言本身的本地成员。Groovy 也使集合(或者列表)的操作变得非常容易,为增加和删除项提供了直观的帮助。 可以将范围当作集合 在前一节学习了如何用 Groovy 的范围将循环变得…

unity学习(42)——创建(create)角色脚本(panel)——UserHandler(收)+CreateClick(发)——服务器收包1

1.首先保证服务器接受到的信息正确&#xff0c;在服务器的LogicHandler.cs中做第一次分拣&#xff1a; public void process(Session session, SocketModel model) {try{switch (model.Type){case 0:LoginHandler.getInstance().process(session, model);break;case 1:MapHand…

项目登录方案选型

一.Cookie + Session 登录 大家都知道,HTTP 是一种无状态的协议。无状态是指协议对于事务处理没有记忆能力,服务器不知道客户端是什么状态。即我们给服务器发送 HTTP 请求之后,服务器根据请求返回数据,但不会记录任何信息。为了解决 HTTP 无状态的问题,出现了 Cookie。Co…