02_jQuery与Ajax

news2024/11/17 21:42:52

jquery

jquery的作用

他是js的库

处理html,事件,实现动画效果,方便的为网站提供AJAX交互

命名格式

在这里插入图片描述

.ji:体积大,用于学习和debug使用

.min.js:压缩的文件,体积小,用于线上环境使用

使用方法

必须先在页面文件中进行引用

$就是jQuery

注意:

jQuery是DOM的封装

jQuery和DOM的方法不能进行混用

jQuery对象的格式和DOM对象的格式不同

jQuery对象输出顺序在DOM对象之前

jQuery和DOM之对象之间的转换

​ dom对象转jQuery对象(可以使用jquery对象里面的方法)

var btn = document.getElementById("btn");
var jq=$(btn);

​ jQuery对象转dom对象(可以使用dom对象里面的方法)

​ jQuery是一个伪数组(不能修改里面的元素)

$(function () {
    //jQuery对象
    console.log($("#btn").innerText);
    //使用自己的方法取里面的文本
    console.log($("#btn").text());
    //jQuery对象转dom对象
    //方法1
    console.log($("#btn")[0]);
    //方法2
    console.log("对象:"+$("#btn").get(0).innerText);
})

jQuery对象使用方法

.html

操作元素内中的html代码

console.log($("#h1").html());

.text

操作元素中的文本,忽略HTML标签

console.log($("#h1").text("xxx"));

.css

操作元素中的style属性

console.log($("#h1").css("color","green"));

.val

操作元素的value属性

$("#username").val("安安安");

.size

获取该对象的个数

console.log($("p").size());

选择器类型

语法: $(“选择器表达式”)

<div id="msg">使⽤ ID 选择器获取当前 DIV元素</div>
<ul>
  <li>item1</li>
  <li>item2</li>
</ul>
<ul id="myul">
  <li>item1</li>
  <li class="selected">item2</li>
</ul>

id选择器

$(function{
$("#msg");
})

class选择器

$(function{
$(".selected");
})

标签选择器

$(function{
$("ul");
})

层级选择器

​ 后代选择器(会自动去重)

$(function){
$("ul li");
}

​ 子代选择器

$(function){
$("#myul > li");
}

​ 兄弟选择器

$(function){
$("label + input");
}

​ 所有的同级选择器

$(function){
$("label ~ input");
}

json

轻量级的数据交互格式,是ES自带的,更高效的进行传输

**总结:**是一种具有一定格式的字符串,用于数据的传,和JQuery是两种不同的东西

json语法格式

标准格式的名称使用双引号括起来

属性名于属性值的映射使⽤冒号分隔 : 标准格式名称⽤双引号括起来;

“name”: value

多个属性使⽤逗号分隔 ,

“name1”: value1, “name2”: value2

映射的对象⽤⼤括号 {} 表示

{“name1”: value1, “name2”: value2}

数组/集合使⽤⽤⽅括号 [] 表示,如下有两个对象

[{“name”, value}, {“name”: value}]

**元素值的类型:**string,number,objiect,array,true,false,null

json字符串转js对象

浏览器中提供了json工具,里面的方法实现两者的转换

​ 1.创建Json字符串(里面可以是数组或者对象)

    var jsonString='{"id":1,"name":"李华","age":23,"favs":["Java","BG"],"dept":{"id":2,"name":"销售"}}';

2.转换

JSON.parse(jsonString)

js对象转json字符串

1.创建js对象

var obj={
name:"张三",
age:25
}

2.转换

JSON.stringfy(obj)

java对象与json字符串互转

方式1,使用Jackson

使用的是ObjiectMapper()

​ 导入依赖

<dependency>
 <groupId>com.fasterxml.jackson.core</groupId>
 <artifactId>jackson-databind</artifactId>
 <version>2.9.6</version>
</dependency>
//创建java对象
Department d=new Department(1L,"张三",23);
//使用JSON第三方库,将java对象转化为字符串
ObjiectMapper mapper=new ObjiectMapper();
mapper.writeValueAsString(d);
//字符串转java对象
String jsonString="{"id":1,"name":"研发部","sn":"yfb\";
    //里面的值就是  字符串,类型字节码
mapper.readValue(jsonString.Department.class)

方式2:使用fastJson

使用的是 JSON

​ 导入依赖

<dependency>
 <groupId>com.alibaba</groupId>
 <artifactId>fastjson</artifactId>
 <version>1.2.47</version>
</dependency>
//创建java对象
Department d=new Department(1L,"张三",23);
//使用JSON第三方库,将java对象转化为字符串
JSON.toJSONString(d)
//转java对象
String jsonString="{"id":1,"name":"研发部","sn":"yfb\";
JSON.parseObjiect(jsonString,Department);

Spring MVC响应json

使用spring响应json数据给浏览器

做java对象转化json时使用注解的方式更加快捷

​ 方式一(@ResponseBody):贴在方法上.告知spring将返回值转化成json字符串并响应

在这里插入图片描述

方式二(@RestConttroller):贴在类上,将Controller和ResponseBody的功能进行结合

在这里插入图片描述

AJAX

重要:

使用ajax后,不在通过浏览器发送你请求,使用JavaScript对象发送请求和接收响应

**同步请求:**请求一个个发送,只有等接收到响应后才再次发送请求,容易造成请求阻塞

**异步请求:**发送数据请求后,不用等到接收响应继续发送请求,可以对部分内容进行刷新,减少请求发送的次数,减轻服务器的压力

AJAX的缺点

1.部分浏览器可能不支持

2.只能更新部分内容,后退功能失效(没有缓存进行数据的存储)

3.不支持跨域访问

jQuery 中 AJAX API

1.$.ajax([option])

填值的时候没有固定的顺序

参数作用
url请求java的地址-------必传
data发送到服务器的数据,使用的是字符串格式
success请求成功后的回调函数,function中的参数由服务器返回
type使用的请求方法:get,post,delete,put--------必传
async默认为true(异步请求),可设置为false为同步请求
datatype给服务器返回的数据类型,可以不指定

示例用法:

<script>
    //当用户名输入框失去焦点是发送请求到服务器,检查输入框中的用户名是否存在
    //使用异步请求提交数据,使用AJAX,不使用表单
    $(function () {
        $("#username").change(function (){
            var username = this.value;
            //console.log(".........");
            //使用ajax发送请求
            $.ajax({
                type:"post",
                url:"/checkUsername",
                data:"username="+username,
                success:function (res){
                    //console.log(res);
                    if(res.success){
                        $("span").text(res.msg).css("color","green");
                    }else{
                        $("span").text(res.msg).css("color","red");
                    }
                }
            })
        })
    })
</script>

get和post填值的时候必须按照格式进行填写

2.$.get(url, [data], [callback], [type])

参数作用
url请求java的地址
data发送到服务器的数据,使用的是字符串格式
callback请求成功后的回调函数,使用function函数
type使用的请求方法:get,post,delete,put
<script src="../js/jquery-2.1.4.js"></script>
  <script>
      //使用异步请求提交数据,使用AJAX,不使用表单
$(function (){
    $("#login").click(function (){
        //使用的是jQuery.val取json的值
        var username = $("#username").val();
        var password = $("#password").val();
        //将两个拼接成一个js对象
        var js={username:username,password:password}
        
        $.post("/login", js, function (result){
                if(result.success){
                    //$("#result").text(result.msg).css("color","green");
                    //成功后进行页面跳转
                    alert(result.msg);
                    location.href("/login.jsp")
                }else {
                    $("#result").text(result.msg).css("color","red");
                }
        })
    })
})
  </script>

3.$.post(url, [data], [callback], [type])

参数作用
url请求java的地址
data发送到服务器的数据,使用的是字符串格式
callback请求成功后的回调函数,使用function函数
 }else {
                $("#result").text(result.msg).css("color","red");
            }
    })
})

})


**3.$.post(url, [data], [callback], [type])**

| 参数     | 作用                                  |
| -------- | ------------------------------------- |
| url      | 请求java的地址                        |
| data     | 发送到服务器的数据,使用的是字符串格式 |
| callback | 请求成功后的回调函数,使用function函数 |
| type     | 使用的请求方法:get,post,delete,put    |

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

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

相关文章

Spring Boot 中的服务网关是什么,原理,如何使用

Spring Boot 中的服务网关是什么&#xff0c;原理&#xff0c;如何使用 在微服务架构中&#xff0c;服务网关是一个非常重要的组件。它可以作为所有微服务的入口&#xff0c;负责路由、负载均衡、安全性和监控等方面的功能。Spring Boot 提供了一系列的服务网关工具&#xff0…

redis-哨兵安装

解决问题 自动故障修复 1.在主从模式的基础上,在主节点添加自己的认证密码即可 2.将代码客户端地址改为哨兵地址 ------------- 主节点配置 daemonize yes port 6379 bind 0.0.0.0 requirepass 123456 save 3600 1 300 100 60 10000dir /usr/local/redis dbfilename dump.r…

Java POI (4)—— Linux环境下文件解析过程出现OOM的问题

Excel文件在进行解析的时候&#xff0c;在Windows环境中&#xff0c;没用报错&#xff0c;但是在Linux环境中&#xff0c;出现了如下的报错&#xff1a; nested exception is javalang.OutofMemoryError: Java heap space &#xff08;OOM&#xff09; 一、内存溢出和栈溢出有什…

主流特征工程平台(一)

一. 目标 对于Feature Store的能力与边界&#xff0c;每家的定义略微不同&#xff0c;《Feature Stores - A Hierarchy of Needs》&#xff09;这篇文章做了很好的总结&#xff0c;大体分为如下几个层次&#xff1a; 特征管理&#xff1a;特征抽取、处理、存储、元数据管理&am…

群晖NAS 安装 MySQL 远程访问连接

目录 1. 安装Mysql 2. 安装phpMyAdmin 3. 修改User 表 4. 本地测试连接 5. 安装cpolar 6. 配置公网访问地址 7. 固定连接公网地址 [TOC] > **转载自cpolar极点云文章&#xff1a;[群晖NAS 安装 MySQL远程访问连接](https://www.cpolar.com/blog/install-mysql-remote-…

Spring 事务使用详解

前言 什么是事务&#xff1f;根据 维基百科事务 介绍&#xff0c;数据库事务&#xff08;简称&#xff1a;事务&#xff09;是数据库管理系统执行过程中的一个逻辑单位&#xff0c;由一个有限的数据库操作序列构成。简单来说&#xff0c;事务就是将一系列操作当成一个不可拆分…

报喜鸟如何触发数字化转型及品牌扩张战略分析

传统服装企业往往面临缺乏创新、盲目扩张、追求低成本、库存和行业周期性等问题。报喜鸟通过深入分析市场需求&#xff0c;明确聚焦主业&#xff0c;提出加强品牌核心竞争力的价值主张。通过实施DTC转型&#xff0c;发力电商平台和线下门店等举措&#xff0c;报喜鸟成功提高品牌…

VSC++=》 指针实数排序

缘由https://bbs.csdn.net/topics/396523482 void 指针实数排序(double* aa, int d) {//缘由https://bbs.csdn.net/topics/396523482double lin 0; int j d, jj 0;while (jj < d) if (--j > jj) if (aa[j] > aa[j - 1])lin aa[j], aa[j] aa[j - 1], aa[j - 1] …

Flask request和requests(客户端服务器)

Flask request和requests 1、Flask request属性2、requests属性3、实现代码 1、Flask request属性 这么多属性什么时候有值什么时候没值&#xff0c;其实完全取决于我们请求头content-type是什么&#xff0c;如果是以表单形式multipart/form-data、application/x-www-form-url…

辅助驾驶功能开发-功能规范篇(21)-3-XP行泊一体方案功能规范

XPilot Parking 自动泊车系统 七、全自动泊车(AutoParking) • 自动泊车辅助(AutoParking Assist)、斜列式车位泊车辅助(Diagonal AutoParking Assist) - 产品定义 基于超声波传感器和环视摄像头对空间和车位的识别,通过自动泊车系统实现全自动泊车入库。 - 功能说…

使用HHDESK图形化功能管理服务器

服务器的管理通常繁琐而枯燥&#xff0c;需要大量的命令行来执行。 所以图形化功能应运而生。 本篇以传输文件为例&#xff0c;简单介绍一下HHDESK的图形化管理功能。 首先需要配置好服务器。 点击连接管理&#xff0c;在连接类型中选择SSH&#xff0c;按照刚才在服务器中配…

方波信号轨迹跟踪(过冲与圆角)

在控制系统中&#xff0c;方波信号轨迹跟踪可能会面临过冲和圆角的问题。过冲是指跟踪信号超过期望值的现象&#xff0c;而圆角是指在方波信号变化时产生平滑的过渡。这些问题主要是因为传统的控制方法无法完美跟踪非线性的方波信号导致的。 过冲通常也称为超调。在方波信号的…

C++中的vector使用详解及重要部分底层实现

本篇文章会对vector的语法使用进行详解。同时&#xff0c;还会对重要难点部分的底层实现进行讲解。其中有vector的迭代器失效和深拷贝问题。希望本篇文章的内容会对你有所帮助。 目录 一、vector 简单概述 1、1 C语言中数组的不便 1、2 C中的动态数组容器vector 二、vector的常…

vue中实现div可编辑,并插入指定元素,样式

前言&#xff1a; vue中实现一个既可以编辑内容&#xff0c;有可以动态编辑内容插入一个带有样式的内容&#xff0c;改变默认内容后&#xff0c;这个样式消失的效果&#xff0c;这里来整理下调研与解决实现问题之路。 实现最终效果&#xff1a;图2为默认内容 1、可以光标点击任…

自定义MVC框架优化

目录 一、前言 二、优化问题 1.子控制器的初始化配置问题 2.页面跳转优化代码冗余问题 3.优化参数封装问题 三、进行优化 1.解决子控制器初始化配置 2.解决页面跳转的代码冗余问题 3.解决优化参数封装问题 4.中央控制器 一、前言 在自定义MVC框架原理中讲述了什么是…

Redis - Redis GEO实现经纬度测算距离,附近搜索范围

Redis GEO 主要用于存储地理位置信息&#xff0c;并对存储的信息进行操作&#xff0c;该功能在 Redis 3.2 版本新增 一、Redis GEO 操作方法 geoadd&#xff1a;添加地理位置的坐标 geopos&#xff1a;获取地理位置的坐标 geodist&#xff1a;计算两个位置之间的距离 geor…

client-go初级篇,从操作kubernetes到编写单元测试

欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码)&#xff1a;https://github.com/zq2599/blog_demos 本篇概览 尽管长篇系列《client-go实战》的内容足够丰富&#xff0c;然而内容太多每个知识点也有一定深度&#xff0c;对于打算快速学习并开始kubernetes开发…

分层架构简介

MVC是架构模式&#xff08;设计模式中的结构性模式&#xff09;&#xff0c;不是系统架构&#xff0c;更不是我们常说的三层架构 MVC的缺陷如下&#xff1a; 1.导致控制器冗余&#xff08;有大量的业务逻辑&#xff0c;可能开始没有&#xff0c;但是后来越来越多&#xff09;…

QT学习笔记5--槽函数重载解决办法

connect函数 connect(sender, signal, receiver, slot); 槽函数示例 void student:: treat(QString foodname) void student:: treat(int index) 由上可见&#xff0c;有两个名字相同&#xff0c;但形参不同的槽函数。 可以通过函数指针的方式 &#xff0c;用指针指向具体…

linux环境安装mysql8.0.32

linux环境安装mysql8.0.32 一、下载安装包二、安装前准备2.1 卸载旧版本mysql2.2 检查是否安装了 mariadb 数据库2.3 安装依赖包创建 mysql 用户 三、安装3.1 上传并解压安装包&#xff08;上传路径没有要求&#xff0c;一般在/usr/local&#xff09;3.2 初始化数据库3.3 注册数…