11-23 SSM4

Ajax

同步请求 :全局刷新的方式  -> synchronous请求 客户端发一个请求,服务器响应之后你客户端才能继续后续操作,请求二响应完之后才能发送后续的请求,依次类推

有点:服务器负载较小,但是由于服务器相应的是整个页面资源,容易造成资源重复加载浪费,服务器相应的数据没有进行对应的选择刷新 -> 局部刷新

异步请求:asynchronous你只要发,不管服务器有没有给你响应,你依然可以继续第二次请求的发送,这是一种异步的方式  调用回调函数把响应返回给你

客户端 ->异步引擎对象xmlHttpRequets(队列结构,有个口进,有个口出,队列里面存下请求,再一个一个把请求发给服务器) -> 服务器  数据传输的载体,现在用的是xml数据格式的数据。

AJAX(Asynchronous Javascript And XML)翻译成中文就是“异步Javascript和XML"。即使用Javascript语言与服务器进行异步交互,传输的数据为XML(当然,传输的数据不只是XML,现在基本都是json格式)。

特点:

  • 与服务器异步交互
  • 浏览器页面局部刷新
  • 排队导致的服务器压力过大也是其中的一个特点

java  对象 -> json xml三个之间的转换

Ajax的实现

1.原生版本  

2.第三方的原生的ajax封装:jquery axios 

基于jquery对ajax的实现

1.回调函数的概念,不是手动调用的函数,写事件函数时,其实括号内部写的就是回调函数

axios.click(function (){})

加上Requetsbody表示他是一个数据了

post请求完毕

现在->get  支持url传值  也支持内部自己写data传值

jquery提供的对ajax再次封装的简写!

$("btn").click(fcuntion (){

 $.get("/test3/test1.do?name=lisi&age=23),function(rs){
        $("content").text(rs)};

})

只适用于get

根据bid去查询书籍

注入service 接收一个bid int id

其实调用了book.toString方法

数据想对象.属性调用出来  因为此时rs是一个字符串  

rs是后台相应的一个字符串

下面这种方式才可以拿出

问题:把字符串转换成一个js对象var obj= {}

使用parseJson  把字符串{“k”:"v","k1":"v1'}转换成js对象

但是对于后台的拼接就会显得特别麻烦 

后台是得到一个java对象,前端需要得到对象的属性,把字符串变成js对象{} 就是json

json就是带有格式的一个字符串 非常类似于js的对象格式

JSON(JavaScript Object Notation)是一种轻量级的数据交换格式。
JSON是用字符串来表示Javascript对象,例如可以在Servlet中发送一个JSON格式的字符串给客户端Javascript,Javascript可以执行这个字符串,得到一个Javascript对象。

Json语法

数据在名称/值对中

数据由逗号分隔花括号{}

保存对象方括号[]

保存数组对象数组:[{},{},{}]

json的key必须使用双引号引起

对象数组:

json就是用于跨平台的数据传递

后端:java对象转换为json  有相应的jar包

前端:把字符串转换为js对象 Json.parse(rs)  rs是一个字符串 

json -> 字符串 json.Stringfy

java后台java对象与json的转换

1.使用第三方的json的jar包:jackson(spring默认) fastjson(阿里提供) jsonlib

Spring使用jackson

1.导入依赖

然后SpringMvc帮你做下面的事

2.配合@ReponseBody把java对象转换为json字符串

@RequestBody:把json字符串转换为java对象

但是没有postJson

更改首页的原生写法:

js动态加cur这个类选择器  但是我们的页面时全局刷新

ajax应用

实现表单  发起ajax请求  数据不是放到域当中了  使用js的DOM操作来动态操纵元素

调一下位置:

页面一加载  我们发起所谓的ajax请求

发起给请求

@("document").ready(function (){

})

@("searchBtn").get

一次性取出数据:

serializable  序列化表单

得到data的字符串格式

data通过url传了过去 就不管了

写controller

响应的是list.do 返回的是Page对象  需要一个ResponseBody

数据给到前台 然后前台渲染即可

java对象->map

js代码循环实现数据渲染

完成下一页

页面刷新执行一次

实现情况:追加不行

点击分类:实现页码复位

实现价格排序

 shiyongshi'yong

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Python大语言模型实战-记录一次用ChatDev框架实现爬虫任务的完整过程

1、模型选择:GPT4 2、需求:在win10操作系统环境下,基于python3.10解释器,爬取豆瓣电影Top250的相关信息,包括电影详情链接,图片链接,影片中文名,影片外国名,评分&#x…

C百题--8.计算并给定整数的所有因子和

1.问题描述 计算并给定整数的所有因子和&#xff08;不包括1和自身&#xff09; 2.解决思路 给定一个整数n&#xff0c;从i2开始遍历&#xff0c;如果n%i0则说明是因子&#xff0c;进行求和即可 3.代码实现 #include<stdio.h> int main(){int n,sum;scanf("%d&…

redis运维(十二) 位图

一 位图 ① 概念 1、说明&#xff1a;位图还是在操作字符串2、位图玩字符串在内存中存储的二进制3、ASCII字符通过映射转化为二进制4、操作的是字符串value ② ASCII字符铺垫 1、控制ASCII字符 2、ASCII可显示字符 ③ SETBIT 细节&#xff1a; setbit 命令的返回值是之…

构造命题公式的真值表

构造命题公式的真值表 1&#xff1a;实验类型&#xff1a;验证性2&#xff1a;实验目的&#xff1a;3&#xff1a;逻辑联结词的定义方法4&#xff1a;命题公式的表示方法5&#xff1a;【实验内容】 1&#xff1a;实验类型&#xff1a;验证性 2&#xff1a;实验目的&#xff1a…

中伟视界:AI分析盒子——ai算法中通过什么方法做到一个对象只报警一次,为每个对象生成一个唯一ID

在AI算法中&#xff0c;通过特定的方法实现对象只报警一次&#xff0c;为每个对象生成唯一ID是非常重要的技术问题。随着人工智能技术的快速发展&#xff0c;AI算法在各个领域得到了广泛应用&#xff0c;如安防监控、智能交通、自动驾驶等。而在这些应用场景中&#xff0c;需要…

2023年【制冷与空调设备安装修理】考试报名及制冷与空调设备安装修理考试资料

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 制冷与空调设备安装修理考试报名考前必练&#xff01;安全生产模拟考试一点通每个月更新制冷与空调设备安装修理考试资料题目及答案&#xff01;多做几遍&#xff0c;其实通过制冷与空调设备安装修理模拟试题很简单。…

VBA即用型代码手册之工作薄的关闭保存及创建

我给VBA下的定义&#xff1a;VBA是个人小型自动化处理的有效工具。可以大大提高自己的劳动效率&#xff0c;而且可以提高数据的准确性。我这里专注VBA,将我多年的经验汇集在VBA系列九套教程中。 作为我的学员要利用我的积木编程思想&#xff0c;积木编程最重要的是积木如何搭建…

番外篇之矩阵运算

矩阵的运算代码&#xff08;加减乘除&#xff09;&#xff08;内有注释&#xff09; #define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h> #define ROW 10 //定义行 #define COL 10 //定义列 //设置全局变量A矩阵的m代表实际矩阵的行数&#xff0c;n代表实际矩阵的列…

流程图是什么,用什么软件做?

在工作流程中&#xff0c;经常会遇到需要图形化呈现整个流程的情况。流程图就是一种一目了然的图形化表现方式&#xff0c;便于人们理解、沟通和管理整个流程。 1.Visio Visio是一款微软公司的图表软件&#xff0c;可以用于创建各种类型的流程图、组织结构图、网络图、平面图…

js粒子效果(二)

效果: 代码: <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Particle Animation</title><…

【数据结构】二叉排序树(c风格、结合c++引用)

目录 1 基本概念 结构体定义 各种接口 2 二叉排序树的构建和中序遍历 递归版单次插入 非递归版单次插入 3 二叉排序树的查找 非递归版本 递归版本 4 二叉排序树的删除&#xff08;难点&#xff09; 1 基本概念 普通二叉排序树是一种简单的数据结构&#xff0c;节点的值…

青云科技容器平台与星辰天合存储产品完成兼容性互认证

近日&#xff0c; 北京青云科技股份有限公司&#xff08;以下简称&#xff1a;青云科技&#xff09;的 KubeSphere 企业版容器平台成功完成了与 XSKY星辰天合的企业级分布式统一数据平台 V6&#xff08;简称&#xff1a;XEDP&#xff09;以及天合翔宇分布式存储系统 V6&#xf…

0001Java程序设计-springboot基于微信小程序批发零售业商品管理系统

文章目录 **摘 要****目录**系统实现开发环境 编程技术交流、源码分享、模板分享、网课分享 企鹅&#x1f427;裙&#xff1a;776871563 摘 要 本毕业设计的内容是设计并且实现一个基于微信小程序批发零售业商品管理系统。它是在Windows下&#xff0c;以MYSQL为数据库开发平台…

深度学习卷积神经网络参数计算难点重点

目录 一、卷积层图像输出尺寸 二、池化层图像输出尺寸 三、全连接层输出尺寸 四、卷积层参数数量 五、全连接层参数数量 六、代码实现与验证 以LeNet5经典模型为例子并且通道数为1 LeNet5网络有7层&#xff1a; ​ 1.第1层&#xff1a;卷积层 ​ 输入&#xff1a;原始的图片像素…

openGauss学习笔记-131 openGauss 数据库运维-启停openGauss

文章目录 openGauss学习笔记-131 openGauss 数据库运维-启停openGauss131.1 启动openGauss131.2 停止openGauss131.3 示例131.3.1 启动openGauss131.3.2 停止openGauss 131.4 错误排查 openGauss学习笔记-131 openGauss 数据库运维-启停openGauss 131.1 启动openGauss 以操作系…

MySQL与Redis如何保证数据的一致性

文章目录 MySQL与Redis如何保证数据的一致性&#xff1f;不好的方案1. 先写 MySQL&#xff0c;再写 Redis2. 先写 Redis&#xff0c;再写 MySQL3. 先删除 Redis&#xff0c;再写 MySQL 好的方案4. 先删除 Redis&#xff0c;再写 MySQL&#xff0c;再删除 Redis5. 先写 MySQL&am…

【间歇振荡器2片555时基仿真】2022-9-24

缘由multisim出现这个应该怎么解决吖&#xff0c;急需解决-嵌入式-CSDN问答 输出一定要有电阻分压才能前后连接控制否则一定报错。

【Java 进阶篇】Jedis 操作 String:Redis中的基础数据类型

在Redis中&#xff0c;String是最基础的数据类型之一&#xff0c;而Jedis作为Java开发者与Redis交互的利器&#xff0c;提供了丰富的API来操作String。本文将深入介绍Jedis如何操作Redis中的String类型数据&#xff0c;通过生动的代码示例和详细的解释&#xff0c;让你轻松掌握…

@Scheduled注解 定时任务讲解

用于在Java Spring框架中定时执行特定任务的注解 Scheduled&#xff0c;它能够指定方法在特定时间间隔或特定时间点执行。默认参数是cron&#xff0c;cron参数被用来定义一个Cron表达式&#xff0c;它代表了任务执行的时间规则 参数如下 Cron 这是是一种时间表达式&#xff…

系统优化软件Bitsum Process Lasso Pro v12.4,供大家学习研究参考

1、自动或手动调整进程优先级;将不需要抑制的进程添加到排除列表; 2、设置动态提升前台运行的进程/线程的优先级 3、设置进程黑名单,禁止无用进程(机制为启动即结束,而非拦截其启动)。 4、优化I/O优先级以及电源模式自动化。 5、ProBalance功能。翻译成中文是“进程平衡…