当前位置:
首页 >
前端技术
> javascript
>内容正文
javascript
SpringMVC(四)——Ajax技术
生活随笔
收集整理的这篇文章主要介绍了
SpringMVC(四)——Ajax技术
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
文章目录
- 1. 什么是Ajax技术
- 2. 伪造Ajax
- 3. Ajax相关测试
1. 什么是Ajax技术
- AJAX = Asynchronous JavaScript and XML(异步的 JavaScript 和 XML)。
- Ajax 是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。
- Ajax 不是一种新的编程语言,而是一种用于创建更好更快以及交互性更强的Web应用程序的技术。
- 传统的网页(即不用ajax技术的网页),想要更新内容或者提交一个表单,都需要重新加载整个网页。
- 使用ajax技术的网页,通过在后台服务器进行少量的数据交换,就可以实现异步局部更新。
利用Ajax可以做:
- 注册时,输入用户名自动检测用户是否已经存在。
- 登陆时,提示用户名密码错误
- 删除数据行时,将行ID发送到后台,后台在数据库中删除,数据库删除成功后,在页面DOM中将数据行也删除。
…等等
2. 伪造Ajax
可以使用前端的iframe标签来伪造一个ajax的样子
1、新建一个项目,构建web模块
2、编写一个 ajax-frame.html 使用 iframe 测试,感受下效果
3、配置Tomcat测试
可以看出,只有加载页面位置区域局部更新页面,其余区域不变。
3. Ajax相关测试
用以下两种均可实现Ajax
- jQuery :用的比较多
- axios :vue推荐使用 axios
在这里使用 jquery
1. 失去焦点(鼠标离开输入框)触发一个ajax请求
页面ajax01.html
<!DOCTYPE html> <html> <head lang="en"><meta charset="UTF-8"><html><head><title>Title</title><!--注意:script标签不要自闭合--><script src="http://cdn.bootcss.com/jquery/3.4.1/jquery.js"></script></head> <body>百度:<input type="text" id="baidu" onblur="baidu()"><script>function baidu() {// 失去焦点触发一个ajax请求alert("ajax请求")} </script> </body> </html>测试
鼠标先点击输入框,再移动离开输入框,即失去焦点
2. 失去焦点触发一个ajax请求,后台返回ok,显示测试成功
控制类AjaxController
package com.zz.controller;import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController;@RestController public class AjaxController {@RequestMapping("/a2")public String ajax(String name){System.out.println(name);return "ok";} }页面ajax02.html
<!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><title>Title</title><script src="http://cdn.bootcss.com/jquery/3.4.1/jquery.js"></script> </head> <body>百度:<input type="text" name="name" id="baidu" onblur="baidu()"><script>function baidu(){// 失去焦点触发一个ajax请求$.post({url:'/a2',data:{name:$("#baidu").val()},//成功的回调函数success:function (data,status) {console.log(data)console.log(status)}});} </script> </body> </html>测试
3. 失去焦点触发一个ajax请求,后台返回一个集合对象
控制类AjaxController
@RequestMapping("/aj2")public List<User> ajax2(String name){User user1 = new User("铁牛1", 18, "女");User user2 = new User("铁牛2", 18, "男");User user3 = new User("铁牛3", 18, "女");User user4 = new User("铁牛4", 18, "男");User user5 = new User("铁牛5", 18, "女");User user6 = new User("铁牛6", 18, "男");List<User> users = Arrays.asList(user1, user2, user3, user4, user5, user6);return users;}同时把页面ajax02.html中的地址改成 /aj2
测试
4. 触发一个事件,数据回显到前端界面
页面ajax03.html
<!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><title>Title</title><script src="http://cdn.bootcss.com/jquery/3.4.1/jquery.js"></script> </head> <body><input type="button" id="btn" value="点击"/> <table width="70%" border="1px" align="center"><tr><td>姓名</td><td>年龄</td><td>性别</td></tr><tbody id="content"><!--应该从后台自动刷新数据过来--></tbody> </table> <script>$('#btn').click(function(){//post(url,data,success的回调函数)$.post("/aj2",function (data){console.log(data);//基本的dom操作let html="";for (let i = 0; i <data.length ; i++) {html+= "<tr>" +"<td>" + data[i].name + "</td>" +"<td>" + data[i].age + "</td>" +"<td>" + data[i].sex + "</td>" +"</tr>"}$("#content").html(html);})}) </script> </body> </html>测试
总结
以上是生活随笔为你收集整理的SpringMVC(四)——Ajax技术的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: JavaWeb(十一)——登录注册小案例
- 下一篇: QT解析 JSON 格式的数据