Java后端开发——Ajax、jQuery和JSON

这篇具有很好参考价值的文章主要介绍了Java后端开发——Ajax、jQuery和JSON。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Java后端开发——Ajax、jQuery和JSON

概述

Ajax全称是Asynchronous Javascript and XML,即异步的JavaScript和 XML。Ajax是一种Web应用技术,该技术是在JavaScript、DOM、服务器配合下,实现浏览器向服务器发送异步请求。

Ajax异步请求方式不向服务器发出请求,会得到数据后再更新页面(通过DOM操作修改页面内容),整个过程不会发生页面跳转或刷新操作。
Java后端开发——Ajax、jQuery和JSON,大数据,JAVA后端开发,java,ajax,jquery,json,大数据,后端
传统请求方式和Ajax异步请求方式区别
Java后端开发——Ajax、jQuery和JSON,大数据,JAVA后端开发,java,ajax,jquery,json,大数据,后端
Java后端开发——Ajax、jQuery和JSON,大数据,JAVA后端开发,java,ajax,jquery,json,大数据,后端
Java后端开发——Ajax、jQuery和JSON,大数据,JAVA后端开发,java,ajax,jquery,json,大数据,后端

Ajax九九乘法口诀表

1.创建页面mul99ajax.html,添加num、button和result标记

<h3>乘法口诀表</h3>
阶数:<input type="text" id="num"/>
<input  type="button" value="提交" onclick="doAjax()"/>
<div id="result"></div>

Java后端开发——Ajax、jQuery和JSON,大数据,JAVA后端开发,java,ajax,jquery,json,大数据,后端
2.添加Ajax的JS代码

<script type="text/javascript">
function doAjax(){
   var num = document.getElementById("num").value;
   var result = document.getElementById("result");
   var xhr = new XMLHttpRequest();    
   xhr.open('get', '/myspringmvc/calAjax?num='+num);      
   xhr.send();                         
   xhr.onreadystatechange = function () {
      if (xhr.readyState === 4 && xhr.status === 200) {
	result.innerHTML =xhr.responseText;
      }
   }
}
</script>

Java后端开发——Ajax、jQuery和JSON,大数据,JAVA后端开发,java,ajax,jquery,json,大数据,后端
1)DOM查找元素num和result标记

   var num = document.getElementById("num").value;
   var result = document.getElementById("result");

Java后端开发——Ajax、jQuery和JSON,大数据,JAVA后端开发,java,ajax,jquery,json,大数据,后端
2)创建XHR对象

 var xhr = new XMLHttpRequest();    

3)发送请求

xhr.open('get', '/myspringmvc/calAjax?num='+num);      
xhr.send();    

4)设置回调函数

xhr.onreadystatechange = function () {
      if (xhr.readyState === 4 && xhr.status === 200) {
	result.innerHTML =xhr.responseText;
      }
   }

Java后端开发——Ajax、jQuery和JSON,大数据,JAVA后端开发,java,ajax,jquery,json,大数据,后端
5)处理异步数据,更新数据到result标记

result.innerHTML =xhr.responseText;

3.编写后端SpringMVC代码MultableController.java,在处理方法上增加注解@ResponseBody,返回值为内容。

@Controller
public class MultableController {
	@RequestMapping("/calAjax")
	@ResponseBody           // 返回内容,不是JSP页面
	public String cal(Integer num) {
		Multable m=new Multable();
		m.setNum(num);
		String result=m.print();
		return result;
	}
}

Java后端开发——Ajax、jQuery和JSON,大数据,JAVA后端开发,java,ajax,jquery,json,大数据,后端
Java后端开发——Ajax、jQuery和JSON,大数据,JAVA后端开发,java,ajax,jquery,json,大数据,后端
Java后端开发——Ajax、jQuery和JSON,大数据,JAVA后端开发,java,ajax,jquery,json,大数据,后端
jQuery实现表格奇偶行颜色不同
1.创建页面jQuery.html,添加表格标记和测试数据

   <table id="tb1">
        <thead>
            <th style="width: 70px;"></th>
            <th style="width: 90px;">姓名</th>
            <th style="width: 90px;">性别</th>
            <th style="width: 200px;">暂住地</th>
        </thead>
		<!-- 把表格放在thead页眉中  这一行不是数据不改变颜色 -->
        <tbody>
            <tr id="tr1">
                <td><input type="radio"  id="rd"></td>
                <td>张三</td>
                <td></td>
                <td>四川成都</td>
            </tr>
            <tr id="tr2">
                <td><input type="radio"  id="rd"></td>
                <td>李四</td>
                <td></td>
                <td>四川绵阳</td>
            </tr>
            <tr id="tr3">
                <td><input type="radio"  id="rd"></td>
                <td>王五</td>
                <td></td>
                <td>四川南充</td>
            </tr>
            <tr id="tr4">
                <td><input type="radio"  id="rd"></td>
                <td>赵六</td>
                <td></td>
                <td>四川自贡</td>
            </tr>
            <tr id="tr5">
                <td><input type="radio"  id="rd"></td>
                <td>陈勇</td>
                <td></td>
                <td>四川德阳</td>
            </tr>
            <tr id="tr6">
                <td><input type="radio"  id="rd"></td>
                <td>罗梅</td>
                <td></td>
                <td>四川宜宾</td>
            </tr>
        </tbody>
    </table>

2.设置CSS样式,奇偶行颜色不同

3.编写jQuery代码设置奇偶行颜色不同,设置click改变颜色

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<style>
.even {
background-color: #FFF38F;
}
.odd {
background-color: #FFFFEE;
}
.s {
background-color: #FF6500;
}
/* 选中的样式只能放在后面,才能掩盖原来的样式 */
table {
border: 1px solid black;
text-align: center;
border-collapse: collapse;
}
th,
td {
border: 1px solid black;
padding: 5px;
}
</style>


<body>
<!-- 引入jquery库 -->
<script src="./js/jquery-3.6.4.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(function() {
$("tbody>tr:odd").addClass("odd");
$("tbody>tr:even").addClass("even");
$("tbody>tr").click(function() { $(this).addClass("s").siblings().removeClass("s").end().find(":radio").attr("checked", true);
});
});
</script>


<table id="tb1">
<thead>
<th style="width: 70px;"></th>
<th style="width: 90px;">姓名</th>
<th style="width: 90px;">性别</th>
<th style="width: 200px;">暂住地</th>
</thead>
<!-- 把表格放在thead页眉中 这一行不是数据不改变颜色 -->
<tbody>
<tr id="tr1">
<td><input type="radio" id="rd"></td>
<td>张三</td>
<td></td>
<td>四川成都</td>
</tr>
<tr id="tr2">
<td><input type="radio" id="rd"></td>
<td>李四</td>
<td></td>
<td>四川绵阳</td>
</tr>
<tr id="tr3">
<td><input type="radio" id="rd"></td>
<td>王五</td>
<td></td>
<td>四川南充</td>
</tr>
<tr id="tr4">
<td><input type="radio" id="rd"></td>
<td>赵六</td>
<td></td>
<td>四川自贡</td>
</tr>
<tr id="tr5">
<td><input type="radio" id="rd"></td>
<td>陈勇</td>
<td></td>
<td>四川德阳</td>
</tr>
<tr id="tr6">
<td><input type="radio" id="rd"></td>
<td>罗梅</td>
<td></td>
<td>四川宜宾</td>
</tr>
</tbody>
</table>


</body>
</html>

Java后端开发——Ajax、jQuery和JSON,大数据,JAVA后端开发,java,ajax,jquery,json,大数据,后端
Java后端开发——Ajax、jQuery和JSON,大数据,JAVA后端开发,java,ajax,jquery,json,大数据,后端

jQuery版九九乘法口诀

1.在创建页面mul99jquery.html,添加num、button和result标记

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<h3>乘法口诀表</h3>
阶数:<input type="text" id="num"/>
<input id="btn" type="button" value="提交"/>
<div id="result"></div>

</body>
</html>

Java后端开发——Ajax、jQuery和JSON,大数据,JAVA后端开发,java,ajax,jquery,json,大数据,后端
2.添加jQuery的Ajax的JS代码

<script src="https://s3.pstatp.com/cdn/expire-1-M/jquery/3.0.0/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
	$('#btn').click(function(){
		var num=$('#num').val();
		$.ajax({
			url: '/myspringmvc/calAjax?num='+num,
			type: 'get',
			success: function(data){
				$('#result').html(data);
			}
		})
	})
})
</script>

Java后端开发——Ajax、jQuery和JSON,大数据,JAVA后端开发,java,ajax,jquery,json,大数据,后端
1)在jQuery页面函数中,给按钮添加事件代码

$(document).ready(function(){
	$('#btn').click(function(){
		var num=$('#num').val();
		$.ajax({
			url: '/myspringmvc/calAjax',
			type: 'post',
			data:{num:num},
			success: function(data){
				$('#result').html(data);
			}
		})
	})
})   

2)获取num控件的值
var num=KaTeX parse error: Expected 'EOF', got '#' at position 3: ('#̲num').val(); 3)….ajax()函数,设置url、type和success函数。

$.ajax({
			url: '/myspringmvc/calAjax',
			type: 'post',
			data:{num:num},
			success: function(data){
				$('#result').html(data);
			}

3.测试
Java后端开发——Ajax、jQuery和JSON,大数据,JAVA后端开发,java,ajax,jquery,json,大数据,后端
测试结果
Java后端开发——Ajax、jQuery和JSON,大数据,JAVA后端开发,java,ajax,jquery,json,大数据,后端
商品类型Ajax加载
1.创建type表,并录入测试的商品类型数据

CREATE TABLE `type` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(45) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=18 DEFAULT CHARSET=utf8mb4;

插入数据

INSERT INTO `type` VALUES ('1', '零食');
INSERT INTO `type` VALUES ('2', '饮料');
INSERT INTO `type` VALUES ('3', '香烟');
INSERT INTO `type` VALUES ('7', '文具');
INSERT INTO `type` VALUES ('8', '猕猴桃');
INSERT INTO `type` VALUES ('10', '蛋糕');
INSERT INTO `type` VALUES ('11', '哈皮');
INSERT INTO `type` VALUES ('12', '芒果');
INSERT INTO `type` VALUES ('15', '果子');
INSERT INTO `type` VALUES ('16', '果子');
INSERT INTO `type` VALUES ('17', '果子');

刷新之后,如图所示
Java后端开发——Ajax、jQuery和JSON,大数据,JAVA后端开发,java,ajax,jquery,json,大数据,后端
2.添加Javabean类Type.java 和 Dao类TypeDao.java

package com.javaweb.bean;


public class Type {
private Integer id;
private String name;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}

Java后端开发——Ajax、jQuery和JSON,大数据,JAVA后端开发,java,ajax,jquery,json,大数据,后端

package com.javaweb.controller;

import java.sql.SQLException;
import java.util.List;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import com.javaweb.bean.Type;
import com.javaweb.dao.TypeDao;

@Controller
@RequestMapping("/type")
public class TypeController {
	private TypeDao typeDao=new TypeDao();
	@GetMapping("/find")
	@ResponseBody
	public List<Type> find(){
		try {
			return typeDao.find();
		} catch (SQLException e) {
			e.printStackTrace();
		}
		return null;
	}
}

Java后端开发——Ajax、jQuery和JSON,大数据,JAVA后端开发,java,ajax,jquery,json,大数据,后端
3.修改good_add.jsp,添加jQuery代码,渲染类型列表

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<script
src="https://s3.pstatp.com/cdn/expire-1-M/jquery/3.0.0/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$.getJSON('/myspringmvc/type/find', function(data) {
var html='';
data.forEach(function(type){
html+='<option value="'+type.id+'">'+type.name+'</option>'
}) ;
$('#type').append(html);
});
})
</script>

<div class="form-group">
<label for="select_topic" class="col-sm-1 control-label">类目</label>
<div class="col-sm-6">
<select class="form-control" id="type" name="type_id">
</select>
</div>
</div>

</body>
</html>

Java后端开发——Ajax、jQuery和JSON,大数据,JAVA后端开发,java,ajax,jquery,json,大数据,后端
4.预览商品添加表单,查看类型列表
Java后端开发——Ajax、jQuery和JSON,大数据,JAVA后端开发,java,ajax,jquery,json,大数据,后端
Java后端开发——Ajax、jQuery和JSON,大数据,JAVA后端开发,java,ajax,jquery,json,大数据,后端
5.修改good_edit.jsp,添加jQuery代码,渲染类型列表选中

<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<link rel="stylesheet" href="${pageContext.request.contextPath}/css/bootstrap.css" />
</head>
<body>
<script 
src="https://s3.pstatp.com/cdn/expire-1-M/jquery/3.0.0/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$.getJSON('/myspringmvc/type/find', function(data) {
var typeId=${g.type_id}
var html='';
data.forEach(function(type){
if(type.id==typeId)
html+='<option selected="selected" value="'+type.id+'">'+type.name+'</option>';
else
html+='<option value="'+type.id+'">'+type.name+'</option>';
}) ;
$('#type').append(html);
});
})
</script>

<div class="container-fluid">
<h3>修改商品页面</h3>
<br><br>
<form class="form-horizontal" action="${pageContext.request.contextPath}/goods/update" method="post">
<input type="hidden" name="id" value="${g.id }"/> 
<div class="form-group">
<label for="input_name" class="col-sm-1 control-label">名称</label>
<div class="col-sm-6">
<input type="text" class="form-control" id="input_name" name="name" value="${g.name }" required="required">
</div>
</div>
<div class="form-group">
<label for="input_name" class="col-sm-1 control-label">价格</label>
<div class="col-sm-6">
<input type="text" class="form-control" id="input_name" value="${g.price }" name="price" >
</div>
</div>
<div class="form-group">
<label for="input_name" class="col-sm-1 control-label">介绍</label>
<div class="col-sm-6">
<input type="text" class="form-control" id="input_name" value="${g.intro }" name="intro" >
</div>
</div>
<div class="form-group">
<label for="input_name" class="col-sm-1 control-label">库存</label>
<div class="col-sm-6">
<input type="text" class="form-control" id="input_name" name="stock" value="${g.stock }">
</div>
</div>
<div class="form-group">
<label for="input_file" class="col-sm-1 control-label">封面图片</label>
<div class="col-sm-6">
<input type="text" name="cover" id="input_file" value="${g.cover }" required="required">推荐尺寸: 500 * 500
</div>
</div>
<div class="form-group">
<label for="input_file" class="col-sm-1 control-label">详情图片1</label>
<div class="col-sm-6">
<input type="text" name="image1" id="input_file" value="${g.image1 }" required="required">推荐尺寸: 500 * 500
</div>
</div>
<div class="form-group">
<label for="input_file" class="col-sm-1 control-label">详情图片2</label>
<div class="col-sm-6">
<input type="text" name="image2" id="input_file" value="${g.image2 }" required="required">推荐尺寸: 500 * 500
</div>
</div>
<div class="form-group">
<label for="select_topic" class="col-sm-1 control-label">类目</label>
<div class="col-sm-6">
<select class="form-control" id="type" name="type_id">
</select>
</div>
</div>

<div class="form-group">
<div class="col-sm-offset-1 col-sm-10">
<button type="submit" class="btn btn-success">提交保存</button>
</div>
</div>
</form>
</div>
</body>
</html>

6.预览商品编辑表单,查看类型列表及选中
Java后端开发——Ajax、jQuery和JSON,大数据,JAVA后端开发,java,ajax,jquery,json,大数据,后端

上面项目已打包上传到网盘,需要可以自取。附链接:https://pan.baidu.com/s/1HmVI00L_C7Zx3bqTEqzXnA?pwd=2024

后面有时间和精力也会分享更多关于大数据领域方面的优质内容,感谢各位的喜欢与支持!文章来源地址https://www.toymoban.com/news/detail-780650.html

到了这里,关于Java后端开发——Ajax、jQuery和JSON的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Java后端使用POST请求向mysql中插入Json数据的问题

    Cause: java.lang.IllegalStateException: Type handler was null on parameter mapping for property ‘urlParams’. It was either not specified and/or could not be found for the javaType (com.alibaba.fastjson.JSONObject) : jdbcType (null) combination.

    2024年02月07日
    浏览(41)
  • JQuery、JSON、AJAX、XML、IO流、多线程、反射核心知识点详解

    一、什么是JQuery     JQuery是JavaScript的一个框架,对js的封装,使得js简单易学     优点:         1、不用考虑浏览器兼容性问题         2、jquery拥有强大的选择器,简化了js代码         3、jquery提供了很多系统函数,直接调用 二、版本         1.x版本:兼

    2024年02月07日
    浏览(47)
  • 【b站咸虾米】jQuery的ajax异步操作 web前端后端分离技术的原理

    课程地址:【jQuery的ajax异步操作 web前端后端分离技术的原理】 https://www.bilibili.com/video/BV1u5411M7ny/?share_source=copy_webvd_source=b1cb921b73fe3808550eaf2224d1c155 通过案例学习ajax异步操作。 介绍 php,前后端不分离的技术。 ajax,实现前后端分离技术。 在之前,要做动态网站,要懂php,ja

    2024年04月15日
    浏览(51)
  • 最详细!!!前端原神官网 (采用html+css+js+dom+ajax+jquery+swiper+json)完整版

    1.该项目采用了大部分前端知识, 完整的复刻原神官网上所显示的全内容 ,非常全面和详细。希望有兴趣的小伙伴萌可以看看和参考一下!!!该项目可以作为大学生 毕设项目(附带项目答辩ppt) 同时也可以作为计算机专业的小伙伴的 期末大作业 。喜欢的请留下你的足迹

    2024年02月05日
    浏览(64)
  • 安全开发-JS应用&原生开发&JQuery库&Ajax技术&加密编码库&断点调试&逆向分析&元素属性操作

    1、布置前端页面 2、JS获取提交数据 3、JS对上传格式判断 4、后端对上传数据处理 前端JS进行后缀过滤,后端PHP进行上传处理 架构:html js php - upload.php 安全问题: 1、过滤代码能看到分析绕过 2、禁用JS或删除过滤代码绕过 前端白名单很轻易就能绕过 0、布置前端页面 1、获取

    2024年02月12日
    浏览(55)
  • Django和jQuery,实现Ajax表格数据分页展示

    当存在重新请求接口才能返回数据的功能时,若页面的内容很长,每次点击一个功能,页面又回到了顶部,对于用户的体验感不太友好,我们希望当用户点击这类的功能时,能直接加载到数据,请求后端的操作不会呈现在前端,给用户一种无感知的状态。 若希望在不重新加载

    2024年02月08日
    浏览(40)
  • Qt+QtWebApp开发笔记(五):http服务器html中使用json触发ajax与后台交互实现数据更新传递

      前面完成了页面的跳转、登录,很多时候不刷新页面就想刷新局部数据,此时ajax就是此种技术,且是异步的。   本篇实现网页内部使用js调用ajax实现异步交互数据。   在js中使用 ajax是通过XMLHttpRequest来实现的。        链接:https://pan.baidu.com/s/1tJMTPhIIyVE40qWxRW

    2024年02月08日
    浏览(112)
  • 基于jquery+html开发的json格式校验工具

    JSON是一种轻量级的数据交换格式。 易于人阅读和编写。同时也易于机器解析和生成。 它基于JavaScript Programming Language, Standard ECMA-262 3rd Edition - December 1999的一个子集。 JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, JavaScript, Per

    2024年02月06日
    浏览(46)
  • BCSP-玄子Java开发之Java Web编程CH011_Ajax交互扩展

    $.ajax( )$.get() $.post() $.getJSON() .load() …… 常用参数 参数 类型 说明 url String 必选,发送请求的地址 data PlainObject 或 String 发送到服务器的数据 success Function(PlainObject result, String textStatus, jqXHR jqxhr) 请求成功后调用的函数参数result:可选,服务器返回的数据 dataType String 预期服务器

    2024年02月11日
    浏览(54)
  • 【后端开发】01-Java基础语法

    Java基础语法 目录 1. 概述 1.1. 语言特性 1.2. 开发平台 1.3. 开发环境 1.4. 开发步骤 1.5. 注释 2. 变量与运算符 2.1. /保留字 2.2. 标识符 2.3. 变量 2.4. 常用数据类型 2.4.1. 基本数据类型(8种) 2.4.2. 引用数据类型 2.4.3. 数据类型转换 2.5. 运算符 2.5.1. 算术运算符(7个) 2.5.2. 关

    2024年02月08日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包