AJAX~

news2024/11/16 22:28:25

概念:AJAX(Asynchronous JavaScript And XML):异步的JavaScript和XML

AJAX作用:

1.与服务器进行数据交换:通过AJAX可以给服务器发送请求,并获取服务器响应的数据

        使用了AJAX和服务器进行通信,就可以使用HTML+AJAX来替换JSP页面了

2. 异步交互:可以在不重新加载整个页面的情况下,与服务器交换数据并更新部分网页的技术,如︰搜索联想、用户名是否可用校验,等等...

同步与异步:

 1,AJAX快速入门

1.1 编写AjaxServlet,并用response输出字符串

//1.响应数据
resp.getWriter().write("hello ajax~~~");

1.2 创建XMLHttpRequest 对象:用于和服务器交换数据

// 创建 XMLHttpRequest 对象
const xhttp = new XMLHttpRequest();

// 定义回调函数
xhttp.onload = function() {
// 您可以在这里使用数据
}

1.3 向服务器发送请求

xhttp.open("GET", "url");//url为地址
xhttp.send();

1.4 获取服务器响应数据

xhttp.onreadystatechange = function() {
    if (this.readyState == 4 && this.status == 200) {
        alert(this.responseText);
    }
}

2,案例

验证用户是否存在

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

        //1.接收用户名
        String username = req.getParameter("username");

        //2.调用service查询User对象
        boolean flag = true;

        //3.响应标记
        resp.getWriter().write(""+flag);
    }
<script>
    //1.给用户输入框绑定,失去焦点事件
    document.getElementById("username").onclick=function (){
        //2.发送请求
        var username = this.value;
        //2.1 创建核心对象
        // 创建 XMLHttpRequest 对象
        const xhttp = new XMLHttpRequest();
        // 定义回调函数
        xhttp.onload = function() {
            // 您可以在这里使用数据
        }
        //2.2 发送请求
        xhttp.open("GET", "http://localhost:8080/ajax-demo/selectUserServlet?username"+username);
        xhttp.send();
        //2.3 获取相应
        xhttp.onreadystatechange = function() {
            if (this.readyState == 4 && this.status == 200) {
                if (this.responseText == "true"){
                    //用户名存在,显示提示信息
                    document.getElementById("username_err").style.display='';
                }else {
                    //用户名不存在,清楚提示信息
                    document.getElementById("username_err").style.display='none';
                }
            }
        }
    }
</script>

3,Axios

Axios对原生的AJAX进行封装,简化书写

3.1 Axios快速入门

3.1.1 引入axios的js文件

<script src="js/axios-0.18.0.js"><script>

3.1.2 使用axios发送请求,并获取响应结果

//1.get
axios({
    method:"get",
    url:"http://localhost:8080/ajax-demo/axiosServlet?username=zhangsan"
}).then(function (resp){
    alert(resp.data);
})
//2.post
axios({
    method:"post",
    url:"http://localhost:8080/ajax-demo/axiosServlet",
    data:"username=zhangsan"
}).then(function (resp){
    alert(resp.data);
})

3.2 Axios请求方法别名

为了方便起见,Axios已经为所有支持的请求方法提供了别名

方法名作用
get(url)发起GET方式请求
post(url,请求参数)发起POST方式请求
//1.get
axios.get("http://localhost:8080/ajax-demo/axiosServlet?username=zhangsan").then(function (resp){
    alert(resp.data);
})
//2.post
axios.post("http://localhost:8080/ajax-demo/axiosServlet","username=zhangsan").then(function (resp){
    alert(resp.data);
})

原版的阅读性更高,而这种则更加简单

4,JSON

概念:JavaScript Object Notation。JavaScript对象表示法

由于其语法简单,层次结构鲜明,现多用于作为数据载体,在网络中进行数据传输

 4.1 JSON基础语法

var 变量名 ={"key1":value1,
            "key2":value2,
            ...
            };

示例:

var json ={"name":"zhansan",
           "age":23,
           "address":["北京","上海","西安"]
           };

获取数据:

变量名.key
json.name

value的数据类型为:

数字(整数或浮点数)

字符串(在双引号中)

逻辑值(true 或false)

数组(在方括号中)

对象(在花括号中)

null

4.2 JSON数据和Java对象转换

请求数据:JSON字符串转为Java对象

响应数据:Java对象转为JSON字符串

Fastjson是阿里巴巴提供的一个Java语言编写的高性能功能完善的JSON库,是目前Java语言中最快的JSON库,可以实现Java对象和JSON字符串的相互转换

4.2.1 导入坐标

<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>fastjson</artifactId>
    <version>1.2.62</version>
</dependency>

4.2.2 Java对象转JSON

//1.将java对象转为json字符串
User user = new User();
user.setId(1);
user.setUsername("zhangsan");
user.setPassword("123");

String jsonString = JSON.toJSONString(user);

System.out.println(jsonString);//{"id":1,"password":"123","username":"zhangsan"}

4.2.3 JSON字符串转Java对象

//2.将JSON转化为java对象
User u  = JSON.parseObject("{\"id\":1,\"password\":\"123\",\"username\":\"zhangsan\"}",User.class);
System.out.println(u);//User{id=1, username='zhangsan', password='123'}

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

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

相关文章

亮数据——让你的IP走出去,让价值返回来

亮数据——让你的IP走出去&#xff0c;让价值返回来 前言跨境电商最最最大的痛点——让IP走出去超级代理服务器加速网络免费的代理管理软件亮数据解决痛点亮数据优势介绍亮数据浏览器的使用示例总结 前言 当前社会信息的价值是不可想象的&#xff0c;今天在亮数据中看到了个【…

element表格 加滚动,监听底部实现分页加载

表格要实现滚动很简单&#xff0c;给他加一个高度即可 height"300" 然后是监听事件 mounted() {this.lazyLoading();}, methods:{lazyLoading(){let dom document.querySelector(".el-table__body-wrapper");dom.addEventListener("scroll", (…

java之jvm调优实战

我们今天是讲java虚拟机,我们刚学java的时候写过hellowWorld 我们通过javaC指令把java 文件编译成字节码文件&#xff08;class&#xff09; 最终通过我们jvm 将class文件运行在 windows和linux平台上 我们也都知道java 语言有个跨平台,对我们java程序来说我们写的一份Java代码…

发掘非结构化数据价值:AI 在文档理解领域的现状与未来

编者按&#xff1a; 在当今这个由数据主导的时代&#xff0c;我们被海量多样的信息所环绕&#xff0c;但大部分数据都以非结构化的形式存在&#xff0c;诸如文档、电子邮件、合同等&#xff0c;这使得从中提取有价值的信息成为一大挑战。 幸运的是&#xff0c;AI 领域正在悄然孕…

负荷频率控制LFC,自抗扰ADRC控制,麻雀SSA算法优化自抗扰参数,两区域二次调频simulink/matlab

红色曲线为优化结果&#xff0c;蓝色曲线为没有自抗扰和没有优化的结果&#xff01;

JWT认证原理

简介&#xff1a; JSON Web Token (JWT) is an open standard (RFC 7519) that defines a compact and self-contained way for securely transmitting information between parties as a JSON object. This information can be verified and trusted because it is digitally …

用户下单、订单支付

一、用户下单 1.1 需求分析和设计 1.2 代码开发 1.2.1 Controller层 import com.sky.dto.OrdersSubmitDTO; import com.sky.result.Result; import com.sky.service.OrderService; import com.sky.vo.OrderSubmitVO; import io.swagger.annotations.Api; import io.swagger.a…

友商健康巡检分析

1、腾讯云 健康检查的参考资料&#xff1a;​​cloud.tencent.com​​ 检查的项目&#xff08;参数说明&#xff09; 检查类别 检查项 检查内容 资源状态 kube-apiserver 的状态 检测组件是否正在运行&#xff0c;如果组件以 Pod 形式运行&#xff0c;则检测其24小时内是…

《系统架构设计师教程(第2版)》第7章-系统架构设计基础知识-05-特定领域软件体系结构(DSSA)

文章目录 1. DSSA的定义1.1 概述1.2 DSSA 的必备特征如下 2. DSSA的基本活动2.1 领域分析2.2 领域设计2.3 领域实现 3. 参与DSSA的人员3.1 领域专家3.2 领域分析人员3.3 领域设计人员3.4 领域实现人员 4. DSSA的建立过程4.1 定义领域范围4.2 定义领域特定的元素4.3 定义领域特定…

[密码学] 密码学基础

目录 一 为什么要加密? 二 常见的密码算法 三 密钥 四 密码学常识 五 密码信息威胁 六 凯撒密码 一 为什么要加密? 在互联网的通信中&#xff0c;数据是通过很多计算机或者通信设备相互转发&#xff0c;才能够到达目的地,所以在这个转发的过程中&#xff0c;如果通信包…

安静:内向性格的竞争力 - 三余书屋 3ysw.net

精读文稿 这期我们介绍的这本书叫做《安静》&#xff0c;副标题是《内向性格的竞争力》。本书共有267页&#xff0c;我会用大约25分钟的时间为你讲述书中的精髓。内向性格具备什么样的竞争力&#xff1f;内向性格的人在人际交往和日常生活中似乎总是吃亏&#xff0c;因为他们不…

c语言知识点整理------基础c语言框架,数据类型,变量常量,注释

前言 本文不涉及讲解原理&#xff0c;用简洁明了的风格&#xff0c;去整理方便查阅的知识点。 &#xff08;适合有编程基础&#xff0c;或者需要作为笔记的人群使用&#xff09; 程序基本框架 结果会输出hello world。 程序的执行 c语言属于编译型语言。 代码执行分为五个…

python学习13:python中的字符串格式化

python中的字符串格式化另外一种方式 我们前面是使用的%d,%f,%s占位符来实现字符串的格式化的&#xff1b;这次我们通过f"{}"来快速实现格式化&#xff0c;代码示例如下&#xff1a;

计算机网络(二)物理层

物理层 一、通信基础1.奈氏准则、香农定理2.编码与调制3.电路交换、报文交换、分组交换 二、 传输介质、设备1.导向性传输介质&#xff1a;1.1双绞线1.2 同轴电缆1.3光纤 2.非导向性传输介质&#xff1a; 一、通信基础 信道带宽&#xff1a;信道能通过的最高频率和最低频率之差…

管理阿里云服务器ECS -- 网站选型和搭建

小云&#xff1a;我已经学会了如何登录云服务器ECS了&#xff0c;但是要如何搭建网站呢&#xff1f; 老王&#xff1a;目前有很多的个人网站系统软件&#xff0c;其中 WordPress 是使用非常广泛的一款&#xff0c;而且也可以把 WordPress 当作一个内容管理系统&#xff08;CMS…

739.每日温度

class Solution:def dailyTemperatures(self, temperatures: List[int]) -> List[int]:n len(temperatures)#从小到达&#xff0c;存放下标 把-1当作栈顶&#xff0c;0当作栈底index_stack [0]res [0] * nfor i in range(1,n):if temperatures[i] < temperatures[ind…

MSTP-3 8K/4K多业务综合光传输平台

MSTP-3作为全新的多业务综合光传输平台&#xff0c;是目前市场上少有的非插卡式、集中式最大32路4K多业务综合光传输产品&#xff0c;不但实现了自主知识产权和国产化替代&#xff0c;还填补了国内多通道8K/16K远距离光传输产品空白。 ⚫ 单套设备即可实现集中式多业务远距离光…

深入解析《企业级数据架构》:HDFS、Yarn、Hive、HBase与Spark的核心应用

写在前面 进入大数据阶段就意味着进入NoSQL阶段&#xff0c;更多的是面向OLAP场景&#xff0c;即数据仓库、BI应用等。 大数据技术的发展并不是偶然的&#xff0c;它的背后是对于成本的考量。集中式数据库或者基于MPP架构的分布数据库往往采用的都是性能稳定但价格较为昂贵的小…

2024年3月28日蚂蚁新村今日答案:人间能得几回闻和冰蚕吐凤雾绡空哪句诗描写的云锦之美?

蚂蚁新村是一个虚拟社区。在这个虚拟社区中&#xff0c;用户可以参与各种活动&#xff0c;比如生产能量豆、做慈善捐赠等。同时&#xff0c;蚂蚁新村也提供了一些知识问答环节&#xff0c;用户在参与的过程中可以增进知识。这些问答内容往往涉及广泛的主题&#xff0c;如文化、…

Java:反射 reflection ( 概念+相关类+使用方法)

文章目录 一、反射(reflection)1.概念优点&#xff1a;缺点 2.反射的相关类1.Class类1.**反射机制的起源**2.获得类相关的方法3.获得类中属性的相关方法4.获得类中注解相关的方法5.获得类中构造器相关的方法6.获得类中方法相关的方法 2.获取Class对象的三种方法&#xff1a;1.使…