- 前端界面:Form表单
- 前端数据提交:使用 ajax 方式 ( 基于jquery )
后台代码:
TestController.java
@Controller
public class TestController {
@RequestMapping("/form")
public String test(){
return "th/form";
}
@RequestMapping("/test1")
@ResponseBody
public Student test1(@RequestParam("id") Integer id, @RequestParam("name") String name) {
Student s=new Student();
s.setId(id);
s.setName(name);
return s;
}
}
前端代码:(注重script部分)
form.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>form</title>
<link href="https://cdn.bootcss.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet"/>
<script src="https://cdn.bootcss.com/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdn.bootcss.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
</head>
<body>
<form class="form-horizontal">
<div class="form-group">
<label for="id" class="col-sm-2 control-label">学号</label>
<div class="col-sm-5">
<input type="text" class="form-control" id="id" placeholder="请输入学号">
</div>
</div>
<div class="form-group">
<label for="name" class="col-sm-2 control-label">姓名</label>
<div class="col-sm-5">
<input type="text" class="form-control" id="name" placeholder="请输入姓名">
</div>
</div>
<div class="form-group">
<div class="col-sm-5 col-sm-offset-2">
<button id="btn" class="btn btn-default" type="button">提交</button>
</div>
</div>
</form>
<script> $(document).ready(function () {
$('#btn').click(function (e) {
var param = {
"id": $('#id').val(), "name": $('#name').val() }; $.ajax({
url: "/test1", //请求的路径 data: param, //传给后台的数据(一般使用json格式) type: "post", //post请求 dataType: "json", //后台返回数据的类型 success: function (data) {
//data为后台返回的结果 console.log(data.id); console.log(data.name); } }); }); }); </script>
</body>
</html>
Ajax介绍
- Ajax就是JS这个语言和服务端交互的手段。
- Ajax 全名 async javascript and XML(异步JavaScript和XML)
- 是前后台交互的能⼒,也就是我们客户端给服务端发送消息的⼯具,以及接受响应的⼯具
- Ajax 是与服务器交换数据并更新部分网页的艺术,在不重新加载整个页面的情况下。
- 是⼀个默认异步执⾏机制的功能,Ajax分为同步(async = false)和异步(async = true)
什么是同步请求?(false)
同步请求是指当前发出请求后,浏览器什么都不能做。
必须得等到请求完成返回数据之后,才会执行后续的代码。
相当于生活中的排队,必须等待前一个人完成自己的事物,后一个人才能接着办。
也就是说,当JS代码加载到当前AJAX的时候会把页面里所有的代码停止加载,页面处于一个假死状态。
当这个AJAX执行完毕后才会继续运行其他代码页面解除假死状态。
什么是异步请求?(默认:true)
默认异步:异步请求就当发出请求的同时,浏览器可以继续做任何事,
Ajax发送请求并不会影响页面的加载与用户的操作,相当于是在两条线上,各走各的,互不影响。
一般默认值为true,异步。异步请求可以完全不影响用户的体验效果,
无论请求的时间长或者短,用户都在专心的操作页面的其他内容,并不会有等待的感觉。
Jquery Ajax 支持哪些数据类型
- xml:返回xml文档,可用于jQuery处理
- html:返回纯文本html信息,包含的script标签会插入dom执行
- script:返回纯文本JavaScript代码,不会自动缓存结果
- json:返回json数据
- jsonp:json格式。使用json形式调用函数
- text:纯文本字符串