首页 > 其他分享 >jQuery入门(五)Ajax和json

jQuery入门(五)Ajax和json

时间:2024-08-06 23:49:21浏览次数:12  
标签:jQuery username 请求 JSON json value Ajax data name

一、Ajax 简介
AJAX(Asynchronous JavaScript And XML):异步的 JavaScript 和 XML。 本身不是一种新技术,而是多个技术综合。用于快速创建动态网页的技术。 一般的网页如果需要更新内容,必需重新加载个页面。 而 AJAX 通过浏览器与服务器进行少量数据交换,就可以使网页实现异步更新。也就是在不重新加载整个页 面的情况下,对网页的部分内容进行局部更新。
同步和异步的区别如下图:

 



二、jQuery实现Ajax

1)JQuery的GET方式实现AJAX
核心语法:$.get(url,[data],[callback],[type]);
- url:请求的资源路径。 - data:发送给服务器端的请求参数,格式可以是key=value,也可以是 js 对象。 - callback:当请求成功后的回调函数,可以在函数中编写我们的逻辑代码。 - type:预期的返回数据的类型,取值可以是 xml, html, js, json, text等
示例代码: 用户注册异步get请求验证用户名

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>用户注册</title>
</head>
<body>
    <form autocomplete="off">
        姓名:<input type="text" id="username">
        <span id="uSpan"></span>
        <br>
        密码:<input type="password" id="password">
        <br>
        <input type="submit" value="注册">
    </form>
</body>
<script src="js/jquery-3.3.1.min.js"></script>
<script>
    //1.为用户名绑定失去焦点事件
    $("#username").blur(function () {
        let username = $("#username").val();
        //2.jQuery的GET方式实现AJAX
        $.get(
            "userServlet",//请求的资源路径
            "username=" + username, //请求参数
            function (data) {  //回调函数
                //将响应的数据显示到span标签
                $("#uSpan").html(data);
            },
            "text"//响应数据形式
        );
    });
</script>
</html>

 


2)JQuery的POST方式实现AJAX
**核心语法:**$.post(url,[data],[callback],[type]);
- url:请求的资源路径。 - data:发送给服务器端的请求参数,格式可以是key=value,也可以是 js 对象。 - callback:当请求成功后的回调函数,可以在函数中编写我们的逻辑代码。 - type:预期的返回数据的类型,取值可以是 xml, html, js, json, text等。
示例代码:用户注册异步post请求验证用户名

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>用户注册</title>
</head>
<body>
    <form autocomplete="off">
        姓名:<input type="text" id="username">
        <span id="uSpan"></span>
        <br>
        密码:<input type="password" id="password">
        <br>
        <input type="submit" value="注册">
    </form>
</body>

<script src="js/jquery-3.3.1.min.js"></script>

<script>

    //1.为用户名绑定失去焦点事件

    $("#username").blur(function () {

        let username = $("#username").val();

        //2.jQuery的POST方式实现AJAX

        $.post(

            //请求的资源路径

            "userServlet",

            "username=" + username, //请求参数

            function (data) {//回调函数

                $("#uSpan").html(data); //将响应的数据显示到span标签

            },

            "text"//响应数据形式

        );

    });

</script>

</html>

 


JQuery的通用方式实现AJAX
**核心语法:**$.ajax({name:value,name:value,…});
- url:请求的资源路径。

- async:是否异步请求,true-是,false-否 (默认是 true)。

- data:发送到服务器的数据,可以是键值对形式,也可以是 js 对象形式。

- type:请求方式,POST 或 GET (默认是 GET)。

- dataType:预期的返回数据的类型,取值可以是 xml, html, js, json, text等。

- success:请求成功时调用的回调函数。

- error:请求失败时调用的回调函数。


示例代码:用户注册异步Ajax post请求验证用户名

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>用户注册</title>
</head>
<body>
    <form autocomplete="off">
        姓名:<input type="text" id="username">
        <span id="uSpan"></span>
        <br>
        密码:<input type="password" id="password">
        <br>
        <input type="submit" value="注册">
    </form>
</body>
<script src="js/jquery-3.3.1.min.js"></script>
<script>
    //1.为用户名绑定失去焦点事件
    $("#username").blur(function () {
        let username = $("#username").val();
        //2.jQuery的通用方式实现AJAX
        $.ajax({
            url:"userServletxxx",//请求资源路径
            async:true, //是否异步
            data:"username="+username, //请求参数
            type:"POST", //请求方式
            dataType:"text", //数据形式
            success:function (data) { //请求成功后调用的回调函数
                $("#uSpan").html(data);//将响应的数据显示到span标签
            },
            error:function () { //请求失败后调用的回调函数
                alert("操作失败...");
            }
        });
   });
</script>
</html>

 


上述Ajax请求用到的servlet代码:

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

@WebServlet("/userServlet")
public class UserServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        //设置请求和响应的乱码
        req.setCharacterEncoding("UTF-8");
        resp.setContentType("text/html;charset=UTF-8");
        //1.获取请求参数
        String username = req.getParameter("username");
        //模拟服务器处理请求需要5秒钟
        /*try {
            Thread.sleep(5000);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }*/
        //2.判断姓名是否已注册
        if("zhangsan".equals(username)) {
            resp.getWriter().write("<font color='red'>用户名已注册</font>");

        }else {
            resp.getWriter().write("<font color='green'>用户名可用</font>");
        }
    }

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

 




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

2、创建格式:
对象类型:语法
{name:value,name:value,...}

示例代码:

{"city":"北京","date":"2088-08-08","shidu":"22%","wendu":"10~23"}

 


数组集合类型:语法
[{name:value,...},{name:value,...}]
混合类型:语法
{name:[{name:value,...},{name:value,...}]}


3、常用方法:
1)stringify(对象)作用:将指定对象转换成json格式字符串
2)parse(字符串)作用:将指定json格式字符串解析成对象
  我们除了可以在 JavaScript 中来使用 JSON 以外,在 JAVA 中同样也可以使用 JSON。 JSON 的转换工具是通过 JAVA 封装好的一些 JAR 工具包。 可以将 JAVA 对象或集合转换成 JSON 格式的字符串,也可以将 JSON 格式的字符串转成 JAVA 对象。

标签:jQuery,username,请求,JSON,json,value,Ajax,data,name
From: https://www.cnblogs.com/kongsq/p/18346203

相关文章

  • jQuery入门 (三) jQuery DOM操作
    jQueryDOM操作一、JQuery的DOM操作1、操作文本操作文本-常用方法:1.方法:html()作用:获取标签的文本内容2.方法:html(value)作用:设置标签的文本内容,解析标签示例代码:<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-......
  • jQuery入门(四)案例
    jQuery操作入门案例一、复选框案例功能:列表的全选,反选,全不选功能实现。实现步骤和分析:-全选1.为全选按钮绑定单击事件。2.获取所有的商品项复选框元素,为其添加checked属性,属性值为true。-全不选1.为全不选按钮绑定单击......
  • jQuery入门(二)jQuery选择器
    JQuery选择器选择器:类似于CSS的选择器,可以帮助我们获取元素。例如:id选择器、类选择器、元素选择器、属性选择器等等。jQuery中选择器的语法:$();一、jQuery的选择器(一)基本选择器1.元素选择器语法:$("元素的名称")作用:根据元素名称获取元......
  • Day18_2--Vue.js Ajax(使用 Axios)基础入门学习
    Vue.js中的Ajax请求(使用Axios)什么是Axios?Axios是一个基于Promise的HTTP客户端,可以用于浏览器和Node.js环境中。它是现代化的Ajax库,用来替代传统的XMLHttpRequest。为什么选择Axios?简单易用:Axios提供了简洁且强大的API,使得发送HTTP请求变得非常简单......
  • jsoncpp库的简易引入教程
    1.打开github上项目的主页jsoncpp2.clone到本地gitclonehttps://github.com/open-source-parsers/jsoncpp.git3.生成jsoncpp库的头文件以及源文件进入项目目录![[Pastedimage20240510150641.png]]执行Python命令,pythonamalgamate.py![[Pastedimage20240510150......
  • jQuery基础学习笔记
    jQuery基础学习个人说明:本文所涉及的到各种jQuery中的函数,方法,api等都不完整,只是一些常用的方法而已,详情还得阅读官方文档中文版:https://www.jquery123.com/jQuery的简单介绍jQuery:是一个快速,小,功能丰富的]avaScript库。它使诸如HTML文档遍历和操作,事件处理、动画和Aja......
  • Spring Boot 中使用 JSON Schema 来校验复杂JSON数据
    JSON是我们编写API时候用于数据传递的常用格式,那么你是否知道JSONSchema呢?在数据交换领域,JSONSchema以其强大的标准化能力,为定义和规范JSON数据的结构与规则提供了有力支持。通过一系列精心设计的关键字,JSONSchema能够详尽地描述数据的各项属性。然而,仅凭JSONSchema......
  • Spring Boot 中使用 JSON Schema 来校验复杂JSON数据
    JSON是我们编写API时候用于数据传递的常用格式,那么你是否知道JSONSchema呢?在数据交换领域,JSONSchema以其强大的标准化能力,为定义和规范JSON数据的结构与规则提供了有力支持。通过一系列精心设计的关键字,JSONSchema能够详尽地描述数据的各项属性。然而,仅凭JSONSchema本......
  • JSON parse error: Cannot deserialize instance of `java.lang.Long` out of START_O
    这个问题的实际原因就是:    后端id(Long类型)用的雪花算法生成主键id    后端生成id位:1820397662671867904    前端查询id的结果为:1820397662671868000产生的原因:    后端生成为19位,前端接受并展示,使用的类型是number类型是16位   ......
  • Django5+Vue3:OA系统前后端分离项目实战-异步优化Ajax请求(12)
    Django5+Vue3系列文章前言本节开始,全文仅对会员开放。若点赞和收藏数量超过100,全文将免费开放。此项目采用Django框架的5.0.7版本进行开发。Django5.0支持的Python版本为3.10、3.11和3.12。OA系统系列文章将持续更新,直至项目的Docker部署阶段。专栏链接:......