本文介绍: 直接使用js编程比较麻烦,而且还必须考虑浏览器的差异性。为了简化javascript开发,一些javascript库诞生了。当今流行的javascript库有:jQuery诞生于2005年,Dojo、 EXT_JS、DWR、YUI…jQuery是John Resig在2006年初创建的,对使用Javascript开发进行简化的框架(库、官方定义),能解决DOM脚本和Ajax开发重复工作

JQuery工具框架

直接使用js编程比较麻烦,而且还必须考虑浏览器的差异性。

为了简化javascript开发,一些javascript库诞生了。当今流行的javascript库有:jQuery诞生于2005
年,Dojo、 EXT_JS、DWR、YUI…

jQuery是John Resig在2006年初创建的,对使用Javascript开发进行简化的框架(库、官方定义),能
解决DOM脚本和Ajax开发中重复工作

JQuery基本使用

首先需要导入jQuery类库,也可以使用webjars方式maven进行管理

<script src="jslib/jquery-3.6.3.js"></script>
<p id="show">
飞雪连天射白鹿<br/>
笑书神夏一臂猿<br/>
</p>
<script>
window.onload=function(){
$('#show')
.slideUp('slow') //slideUp() 方法用于向上滑动元素
.slideDown('slow'); //slideDown() 方法用于向下滑动元素
}
</script>

用途

<script>$(function(){alert(“test”);})</script>

window.onload用于定义页面加载完毕则执行回调函数 window.οnlοad=function(){}

(

f

u

n

c

t

i

o

n

(

)

)

实际上是

(function(){})实际上是

(function())实际上是(document).ready(function(){})的缩写,表示的是在当前页面的DOM加
载完毕则立即执行回调函数

<p id="show">
飞雪连天射白鹿<br/>
笑书神夏一臂猿<br/>
</p>
<button id="btn1">显示</button>
<script>
$(function (){
$('#show').hide(); //隐藏指定id=show的元素
$('#btn1').click(function(){ //给id=btn1添加点击事件处理函数
$('#show').show(); //显示id=show的元素
});
});
</script>

区别
window.onload或者使用 定义页面加载完毕后执行回调函数,页面加载
毕不等于渲染显示完毕,这个函数只能定义一个,如果多次定义则最后一次定义生效,其他无效
jquery中的

(

f

u

n

c

t

i

o

n

(

)

)

或者

(function())或者

(function())或者(document).ready(function(){})用于定义DOM加载完毕后执行的回
调函数,可以定义多次,都会执行

编程过程中经常会使用定位器用于查找指定页面元素,基础语法 $(expression,[context]) 接收
一个包含 CSS 选择器字符串然后用这个字符串匹配一组元素。jQuery 的核心功能都是通过这个函数实现

功能

<p id="p1">一段文本信息</p>
<buton id="btn1">获取显示文本内容</buton>
<script>
$(function(){
$('#btn1').click(function(){
alert($('#p1').html()); //获取id=p1中的innerHTML内容
});
});
</script>
<p id="p1">一段文本信息</p>
<buton id="btn1">获取显示文本内容</buton>
<script>
$(function(){
$('#btn1').click(function(){
$('#p1').css('background-color','red');
});
});
</script>
<p id="p1">一段文本信息</p>
<buton id="btn1">获取显示文本内容</buton>
<script>
$(function(){
$('#btn1').click(function(){
$('#p1').html('新的显示内容'); //如果使用html()则是获取内容,如果使用
html(参数)则是修改内容,对应innerHTML
});
});
</script>

KaTeX parse error: Expected ‘EOF’, got ‘#’ at position 3: (‘#̲btn1’).click(fu…(‘#btn1’).click();则是触发一次
点击事件

<script>
$(document).ready(function(){
$("button").click(function(){ //通过签名称定为页面元素,查找所有的
button标签;给button添加click点击事件处理函数
$("li").each(function(){ //获取所有的li标签,.each循环遍历每个
li元素
alert($(this).text()) $(this)获取被遍历当前元素,text()
获取内部的文本信息,类似于innerText
});
});
});
</script>
<button>输出每个列表项的值</button>
<ul>
<li>Coffee</li>
<li>Milk</li>
<li>Soda</li>
</ul>

AJAX常见属性配置

在具体的开发中使用单一字符串返回数据内容比较少,所以具体开发中一般会自定义一个JsonResult
类,其中封装需要返回数据最后在Controller方法上添加@ResponseBody使其以json格式返回

@Data
public class JsonResult implements Serializable {
private int code; //人为自定义响应状态码,不是http规范中的响应状态码
private boolean success;//用于表示处理是否成功
private String message; //响应的提示信息
private Object data;//响应数据
}

控制

@Controller
public class UserController {
@ResponseBody
@GetMapping("/exists")
public String exists(String username){
String msg="";
if("yanjun".equals(username))
msg="<font color=red>用户名称已经被占用</font>";
else
msg="<font color=blue>用户名称可以使用</font>";
return msg;
}
@ResponseBody
@PostMapping("/add")
public JsonResult add(String username, String password){
System.out.println(username+"-->"+password);
return JsonResult.success("新增用户成功");
}
}

页面中使用ajax

<form id="frm1">
<input id="username" name="username"/><span id="err"></span><br/>
<input type="password"/><br/>
</form>
<button id="btn1">提交数据</button>
<script src="jslib/jquery-3.6.3.js"></script>
<script>
$(function () {
$('#username').blur(function () {// 给id=username的元素上添加
onblur=function(){}
//获取数据,可以使用CSS定位查找元素,也可以使用this
var uname = $('#username').val(); //相当于于针对元素调用value,获取
用户输入数据
if (uname == '') {
$('#err').html('<font color=red>用户名称不能为空!</font>')
} else {
$.get('exists', {username: uname}, function (data) {
$('#err').html(data);
});
}
});
});
$(function () {
$('#btn1').click(function () {
$.ajax({
url: 'add',
type:'POST',
data:$('#frm1').serialize(),
dataType:'json',
success:function(res){
console.log(res);
if(res.success){
alert(res.message);
location.href='001.html';
}
}
});
});
});
</script>

JQuery默认的Serialize和SerializeArray可以form表单数据进行序列化这里只是
key=value&amp;key1=value1 的格式,不是JSON。

GET和POST方法区别

JSON格式

JSON即 JS 对象简谱是一种轻量级的数据交换格式。它基于 ECMAScript欧洲计算机协会制定的js规范的一个子集,采用完全独立编程语言的文本格式存储和表示数据。简洁和清晰的层次结构使得 JSON成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析生成,并有效地提升网络传输效率。

具体语法格式

数组是由方括号括起来的一组值构成,具体格式为[元素1,元素2,…],如[3, 1, 4, 1, 5, 9, 2, 6]
对象由花括号括起来的逗号分割成员构成,成员字符串键和对应的值由逗号分割键值对组
成,如 {“name”: “John Doe”, “age”: 18, “address”: {“country” : “china”, “zipcode”: “10000”}}

json处理方法1

对于服务器返回的JSON字符串,如果jquery异步请求没做类型说明,或者以字符方式接受,那么需要一次对象化处理,方式不是太麻烦,就是将该字符串放于eval()中执行一次。这种方式也适合以普通javascipt方式获取json对象

json处理方法2

jQuery提供了方法parseJSON,这需要一个标准的JSON字符串,并返回生成的JavaScript对象

  • 处理思路实际上和eval函数调用是一致的,只是jQuery提供了安全的调用
  • 要求返回的字符串必须是正规标准的 JSON 字符

json处理方法3 [推荐]

对于服务器返回的JSON字符串,如果jquery异步请求将type设为 json,或者利用$.getJSON()方法获得服务器返回,那么就不需要eval方法了,因为这时候得到的结果已经是json对象了,只需直接调用该对象即可

原文地址:https://blog.csdn.net/qq_39756007/article/details/129089235

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_16731.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注