Javaweb—Ajax与jQuery请求

文章目录

  • 十一.Javaweb—Ajax与jQuery请求
    • 11.1 异步/同步请求
    • 11.2 异步请求案例
      • 案例一:
      • 案例二:

十一.Javaweb—Ajax与jQuery请求

Ajax: 全称Asynchronous JavaScript And XML,异步的JavaScript和XML。

11.1 异步/同步请求

【往期文章】

  • 同步请求发送:

浏览器页面在发送请求给服务器,在服务器处理请求的过程中,浏览器页面不能做其他的操作。只能等到服务器响应结束后才能,浏览器页面才能继续做其他的操作。

  • 异步交互:

可以在不重新加载整个页面的情况下,与服务器交换数据并更新部分网页的技术,如:搜索联想、用户名是否可用的校验等等。

11.2 异步请求案例

案例一:

前端页面:

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body><h1>未登录</h1>
<button>登录</button></body>
</html>
<script src="/js/jquery-1.10.2.min.js"></script>
<script>$(function () {var str = "kwh"$("button").click(function () {$.ajax({url: "/ajax",// data: "username=admin&password=123",//传递json格式数据data:{"username":"admin","password":123},async: true, // true 异步, false 同步tpype: "get",datetype: "json",success: function (res) {alert(res);$("h1").text(res);},error: function () {alert("not_login is error");}});// 异步执行 先弹出alert(str) 再执行alert(res)alert(str);});});
</script>

后端服务:

@WebServlet("/ajax")
public class AjaxServlet extends HttpServlet {@Overrideprotected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {String res = "";//获取前端提交的参数String username = request.getParameter("username");String password = request.getParameter("password");if(username.equals("admin") && password.equals("123")) {res = "登录成功";}response.setCharacterEncoding("UTF-8");response.getWriter().write(res);}
}

案例二:

统一响应结果:

import com.alibaba.fastjson.JSONObject;
public class ResultJSON {private Integer code;private String msg;public ResultJSON(Integer code, String msg) {this.code = code;this.msg = msg;}public String jsonString(){return new JSONObject().toJSONString(this);}public static ResultJSON success(){return new ResultJSON(200,"登录成功");}public static ResultJSON success(Integer code,String msg){return new ResultJSON(code,msg);}public static ResultJSON error(){return new ResultJSON(400,"登录失败");}public static ResultJSON error(Integer code,String msg){return new ResultJSON(code,msg);}public Integer getCode() {return code;}public void setCode(Integer code) {this.code = code;}public String getMsg() {return msg;}public void setMsg(String msg) {this.msg = msg;}
}

前端页面:

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body><h1>未登录</h1>
<button>登录</button></body>
</html>
<script src="/js/jquery-1.10.2.min.js"></script>
<script>$(function () {$("button").click(function () {$.ajax({url: "/ajax02",// data: "username=admin&password=123",//传递json格式数据data:{"username":"admin","password":"123"},async: true, // true 异步, false 同步tpype: "get",//使用的请求类型datetype: "json",//响应回来的数据类型success: function (res) {alert(res);$("h1").text(res);},error: function () {alert("not_login is error");}});});});
</script>

后端服务

@WebServlet("/ajax02")
public class Ajax02Servlet extends HttpServlet {@Overrideprotected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {String res = "";String username = request.getParameter("username");String password = request.getParameter("password");response.setCharacterEncoding("UTF-8");PrintWriter writer = response.getWriter();if("admin".equals(username)&& "123".equals(password)) {writer.write(ResultJSON.success().jsonString());}else {writer.write(ResultJSON.error().jsonString());}// response.getWriter().write(res);}
}

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

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

相关文章

单片机中的BootLoader(重要的概念讲解)

文章目录 一、链接地址和执行地址1. 链接地址(Load Address)2. 执行地址(Execution Address)链接地址与执行地址的关系实际工作流程总结二、相对跳转和绝对跳转1. 相对跳转(Relative Jump)2. 绝对跳转(Absolute Jump)3. `BX` 和 `BL` 指令总结三、散列文件1. 散列文件的…

macOS解决U盘装完系统容量变小的问题

发现原来256GB容量的U盘在mac电脑上只显示34GB&#xff0c;想起来之前用该U盘装过系统&#xff0c;最终搜到了以下解决方案&#xff0c;在此记录&#xff1a; (1) 查看盘符列表&#xff0c;找到需要格式化的U盘&#xff0c;假设为disk4 diskutil list(2) 卸载分区disk4 disk…

Linux 系统管理和监控命令---- auditctl命令

文章目录 基本语法常用参数和选项添加规则删除规则查看规则控制审计系统其他选项 使用示例启用审计系统禁用审计系统添加文件监视规则删除文件监视规则添加系统调用规则删除系统调用规则列出当前的审计规则 结合 ausearch 和 aureport查询审计日志生成审计报告 总结 auditctl 是…

知识图谱6:neo4j查询语句

neo4j增删改查 常见查询语句 1、查询所有节点和关系 //查询所有节点和关系 MATCH (n)-[r]->(m) RETURN n, r, m 2、查询某个知识图谱的全部 3、查询 MATCH (n:zhongyao {name: "艾虎"})-[r]->(m) RETURN n, r, m4、统计 // 查询边的个数 MATCH ()-[r]->…

【计算机网络】UDP网络程序

一、服务端 1.udpServer.hpp 此文件负责实现一个udp服务器 #pragma once#include <iostream> #include <string> #include <cstdlib> #include <cstring> #include <functional> #include <strings.h> #include <unistd.h> #incl…

【027B】基于51单片机模拟电梯(点阵)【Proteus仿真+Keil程序+报告+原理图】

☆、设计硬件组成&#xff1a;51单片机最小系统8*8点阵显示按键设置LED灯。 1、设计采用STC89C51/52、AT89C51/52、AT89S51/52作为主控芯片&#xff1b; 2、采用8*8点阵显示楼层和电梯运作&#xff08;上升、下降&#xff09;指示&#xff0c;同时具有八个楼层指示灯&#xf…

nginx openresty lua-resty-http 使用的一些问题记录

需求背景 需求是使用 nginx 做一个 https 服务的代理 nginx 收到 http 请求后&#xff0c;需要修改 body 中的某些参数值&#xff0c;然后将修改后的数据发送到目标服务器&#xff08;https&#xff09; 本来以为很简单的需求&#xff0c;结果中间出现了不少岔子&#xff0c;这…

vue2+ element ui 集成pdfjs-dist

目录 1. 下载Pdf.js1.1 下载1.2 修改配置1.2.1 将pdfjs-3.8.162-dist复制到项目中1.2.2 解决跨域问题1.2.3 将pdf.worker.js文件复制到public目录下1.2.4 安装 pdfjs-dist1.2.5 前端vue代码(示例) 3. 参考资料 1. 下载Pdf.js 1.1 下载 下载链接&#xff08;官方&#xff09;需…

「Mac玩转仓颉内测版2」入门篇2 - 编写第一个Cangjie程序

本篇详细介绍在Mac系统上创建首个Cangjie项目并编写、运行第一个Cangjie程序的全过程。内容涵盖项目创建、代码编写、程序运行与调试&#xff0c;以及代码修改后的重新运行。通过本篇&#xff0c;掌握Cangjie项目的基本操作&#xff0c;进一步巩固开发环境的配置&#xff0c;迈…

@ComponentScan 和 @SpringBootApplication 同时使用出现问题

1 同时使用ComponentScan和SpringBootApplication&#xff0c;会导致SpringBootApplication所带的注解失效&#xff0c;请注意这个问题。我在使用mybatis时出现了找不到bean的问题&#xff0c;使用了ComponentScan导致Controller没有扫描到。 2 在springboot下使用mybatis时&a…

接单渠道,程序员看这篇就够了。

接单、兼职&#xff0c;有团队没单子&#xff1f;僧多粥少&#xff0c;苦矣。 很多程序员&#xff0c;有时间、有技术&#xff0c;有steam&#xff08;咳咳&#xff0c;不对&#xff0c;是team&#xff09;。但是&#xff0c;可能还是挣不到什么钱&#xff0c;何也&#xff1f…

【深度学习】使用硬件加速模型训练速度

一、 单机器单GPU 特点 配置简单&#xff1a;无需多 GPU 或分布式环境的复杂配置&#xff0c;适合资源有限的场景。适合小规模模型&#xff1a;对于计算量不大的模型&#xff08;如中小型 CNN、RNN&#xff09;&#xff0c;单 GPU 可以处理大多数常见任务。 优势 简单易用&…

CSS:导航栏三角箭头

用CSS实现导航流程图的样式。可根据自己的需求进行修改&#xff0c;代码精略的写了一下。 注&#xff1a;场景一和场景二在分辨率比较低的情况下会有一个1px的缝隙不太优雅&#xff0c;自行处理。有个方法是直接在每个外面包一个DIV&#xff0c;用动态样式设置底色。 场景一、…

Qt_day4_Qt_UI设计

目录 Qt_UI设计 1. Designer 设计师&#xff08;掌握&#xff09; 2. Layout 布局&#xff08;重点&#xff09; 2.1 基本使用 2.2 高级用法 2.3 代码布局&#xff08;了解&#xff09; 3. Designer与C的关系&#xff08;熟悉&#xff09; 4. 基本组件&#xff08;掌握…

sql专题 之 count()区别

文章目录 count&#xff08;1&#xff09;count(*)count(列名)比较 count&#xff08;1&#xff09; count(1) 是对结果集中的每一行计数&#xff0c;不关注具体的列&#xff0c;只是计数行数。 每一行都计为常数1 等同于 count(*)&#xff0c;性能上基本一致&#xff0c;但有时…

嵌入式课程day14-C语言指针进阶

目录 10.3指针进阶 10.3.1数组指针 10.3.2指针数组 10.3.3函数指针 10.3.4指针函数 10.3.5函数指针的实际应用案例qsort函数&#xff1a; 10.3指针进阶 10.3.1数组指针 是指针 --- 指向对象的类型是 数组 int [3] 数组指针一般用于指向二维数组里面的一行&#xff0c;…

蓝桥杯模拟

【问题描述】 如果一个数 p 是个质数&#xff0c;同时又是整数 a 的约数&#xff0c;则 p 称为 a 的一个质因数。 请问 2024 有多少个质因数。 【答案提交】 这是一道结果填空的题&#xff0c;你只需要算出结果后提交即可。本题的结果为一个整数&#xff0c;在提交答案时只…

Ruby编程语言全景解析:从基础到进阶

Ruby是一种动态的、面向对象的编程语言&#xff0c;以其优雅的语法和强大的功能而闻名于世。自从1995年由日本程序员松本行弘&#xff08;Yukihiro Matsumoto&#xff09;发布以来&#xff0c;Ruby便迅速成为了开发者中颇受欢迎的编程语言之一。无论是构建简单的脚本还是复杂的…

数据结构的时间复杂度和空间复杂度

目录 时间复杂度 空间复杂度 时间复杂度 基本操作的执行次数&#xff0c;为时间复杂度。 我们使用大O的渐进表示法来表示时间复杂度。 怎么使用&#xff1f; 先看例子&#xff1a; 在这个例子中&#xff0c; 基本操作为变量 count 的 加加 操作&#xff0c;并且&#xff0c;执行…

Ubuntu20.04 解决一段时间后键盘卡死 输入延迟很大的问题 ubuntu

Ubuntu20.04 解决一段时间后键盘卡死 输入延迟很大的问题 为了确保您能顺利通过双击快捷方式来重启 IBus&#xff0c;下面详细描述了从脚本创建到快捷方式设置的每一步&#xff0c;包括具体的命令行操作和必要的说明&#xff0c;以确保您能够按步骤成功执行。 步骤 1: 创建并…