[JAVA EE]ajax 方式提交数据

  • 前端界面: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:纯文本字符串
  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值