小白学习Java第三十九天

本文详细介绍了Ajax技术的使用场景、概念、分类以及jQuery的封装方法,包括$.ajax()、$.get()和$.post()。同时,讲解了JSON的数据格式、转换方法,并给出了学号唯一性验证和二级联动的实战案例。此外,还讨论了Json在数据交换和接口开发中的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今日内容

  1. Ajax

jQueryAjax

  1. JSON

后台如何将数据(对象,集合)转换成json格式

前端页面中如何处理json数据

  • Ajax技术
  1. Ajax概述

1)使用场景:

1.在线视频、直播平台等评论实时更新、点赞、小礼物、

2.会员注册时的信息验证,手机号、账号唯一

3.百度关键搜索补全功能

2)概念:

Ajax “Asynchronous Javascript And XML”(异步 JavaScript XML),是指一种创建交互式网页应用的网页开发技术。

Ajax 是一种用于创建快速动态网页的技术。

Ajax 是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。

通过在后台与服务器进行少量数据交换,Ajax 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。传统的网页(不使用 Ajax)如果需要更新内容,必须重载整个网页页面。

  1. 同步方式和异步方式的区别

同步:

发送一个请求,需要等待响应返回,然后才能够发送下一个请求,如果该请求没有响应,不能发送下一个请求,客户端会处于一直等待过程中。

异步:

发送一个请求,不需要等待响应返回,随时可以再发送下一个请求,即不需要等待。

4Ajax技术的分类:

原生的js异步ajax(了解)

jQuery封装的ajax(重点掌握)

  1. JS原生的Ajax

实现步骤:

  1. 创建XMLHTTPRequest对象:var xhr=new XMLHttpRequest();
  2. 设置访问的方式和路径:xhr.open("get","ajax");
  3. 发送请求:xhr.send();
  4. 处理请求的结果:xhr.onreadystatechange=function(){}

5readyState存有 XMLHttpRequest 的状态信息

0: 请求未初始化

1: 服务器连接已建立

2: 请求已接收

3: 请求处理中

4: 请求已完成,且响应已就绪

案例:

1.创建html页面,使用原生ajax发送异步请求:

 

  1. 后台servlet

 

  1. jquery封装的ajax

1)概述:

jQuery是一个优秀的js框架,对JS原生的Ajax进行了封装,封装后的Ajax的操作方法更简洁,功能更强大,程序员最普遍使用,语法结构简单,代码可读性好。

2)与Ajax操作相关的jQuery方法经常使用的有三种:

 

$.ajax()

  1. 语法结构:

$.ajax({

         url:"",

         data:{“name”:”张三”,”age”:23},

         type:"post/get",

         async:true,

         dataType:"text",

         success:function(obj){},

         error:function(xhr,msg,ex){}

})

 

2)特点:

  • 可以发送get请求和post请求,
  • 可以进行代码的调试
  • 各个参数的位置可以随意调换也可以省略

案例:

页面:

 

servlet:

 

关于error函数示例:

(默认: 自动判断 (xml html)) 请求失败时调用此函数。有以下三个参数:XMLHttpRequest 对象、错误信息、(可选)捕获的异常对象。如果发生了错误,错误信息(第二个参数)除了得到null之外,还可能是"timeout", "error", "notmodified" "parsererror"

  1. 解析异常(返回数据类型异常)

 

 

  1. 路径异常

 

 

$.get()和$.post()

1)概述:

$.ajax语法比较复杂,写起来对于初学者会感觉比较难,对于$.ajax也提供了两个简写方式:$.get/$.post

但是如果使用简写方式需要考虑的问题是:不能调试代码,参数比较固定,只能实现基本的请求操作。

2)语法:

$.get/$post(url,data,callback,datatype)参数顺序不能改变。

参数含义:

 

页面代码:

 

servet

 

$.ajax() $.get() $.post三者之间的关系?

相同点:

都是jQuery封装的方法实现异步交互。

不同点:

$.ajax()jQuery的第一次封装,使用时稍显麻烦,但是功能强大,覆盖了getpost请求,有错误调试能力,写法顺序可以改变。

$.post()$.get()jQuery Ajax的第二次封装,由于$.Ajax()写法过于臃肿,简化为$.post()$.get(),功能是相同的没有区别。但是写法要求更高,顺序不能改变,不能进行调试。

  1. ajax案例-学生姓名唯一性验证

需求说明:

学生管理系统增加学生功能中添加学号唯一性验证。

表单提交之前验证学号是否已经添加,如果已经添加给出提示;

如果没有添加过,提示可以使用。

页面:

<script src="js/jquery-3.6.0.min.js"></script>
<script>
    $(function () {
        //姓名文本框的失焦事件
        $('[name="sname"]').blur(function () {
            //非空验证
            var sname = $(this).val();
            if(sname==null||sname==""){
                $("#sname_msg").text("姓名不能为空").css("color","red");
                return
            }
            //唯一验证
            $.ajax({
                url:"student",
                data:{"sname":sname,"method":"checkSname"},
                type:"post",
                dataType:"text",
                success:function (data) {
                    if(data=="true"){
                        $("#sname_msg").text("该姓名已存在").css("color","red");
                    }else{
                        $("#sname_msg").text("√").css("color","green");
                    }
                }
            })

        })
    })
</script>

servlet:

 

service:

 

dao:

 

  • Json数据
  1. json概述

1)概念:

JSON(JavaScript Object Notation, JS 对象标记) 是一种轻量级的数据交换格式。它基于ECMAScript的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。

2)作用:

  • 在开发领域主要是作为一种数据格式来使用。
  • 可以存储数据和传输数据。
  • 可以作为接口开发的一个规范来使用。
  1. Json语法
  1. json对象

Js对象的字符串表示方式。

语法格式:

{
    "name":"
张三",
    "age":"25"
}

  1. Json数组

语法格式:

["apple", "orange", 1, 2]

  1. Json复杂对象:由json对象和json数组构成

语法格式:

[{

            "name": "zhangsan",

            "age": 23,

            "hobby": ["唱歌", "跳舞"]

      },

      {

            "name": "lisi",

            "age": 24,

            "hobby": ["爬山", "写代码"]

      },

      {

            "name": "wangwu",

            "age": 25,

            "hobby": ["逛街", "跳舞"]

      }

]

  1. Json转换
  1. 概述:

Json格式数据可以手动转换,但是这样的操作会导致开发效率低下。我们不推荐这样操作,通常我们转换json数据会选择使用第三方jar包。

2)常用的第三方jar介绍:

 

3)使用方式:

将下载的jarfastjson-1.2.62.jar导入项目即可使用。

  1. 示例代码:

servlet:

0

 

 

页面:

 

  1. json案例-二级联动

在页面实现省市二级联动的动态效果。要求:

  1. 所有省份和城市信息从数据库获取
  2. 页面渲染完成即加载省份下拉菜单
  3. 点击选择省份,对应可以显示省份下面的城市

参考示例:

 

页面代码:

  1. 当页面加载时绑定所有省份信息

 

  1. 单击省下拉列表框时,更新市下拉列表框的信息

 

servlet:

 

service:

 

dao:

 

bean:

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值