Ajax
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>伪造Ajax</title>
</head>
<body>
<script>
window.onload = function time() {
var currentTime = new Date();
document.getElementById('currentTime').innerText = currentTime.getTime();
}
function getPage() {
var url = document.getElementById('url').value;
document.getElementById('iframePosition').src = url;
}
</script>
<div>
<p>请输入加载网址:<span id="currentTime"></span></p>
<p>
<input type="text" id="url" value="https://www.bilibili.com/">
<input type="button" value="提交" onclick="getPage()">
</p>
<div>
<h2>加载页面:</h2>
<iframe style="width: 100%;height: 500px" id="iframePosition"></iframe>
</div>
</div>
</body>
</html>
![image.png]()
AJAX示例
后端接口
@Controller
@RequestMapping("/ajax")
public class AjaxController {
@RequestMapping("/a1")
public void ajax(String name, HttpServletResponse response) throws IOException {
if ("admin".equals(name))
response.getWriter().print("true");
else
response.getWriter().print("false");
}
@RequestMapping("/a2")
@ResponseBody
public String ajax2(String name, String pwd){
String msg = "";
if (null != name)
{
if ("admin".equals(name))
msg = "ok";
}
if (null != pwd)
{
if ("123456".equals(pwd))
msg = "ok";
}
return msg;
}
@ResponseBody
@RequestMapping("/a3")
public List<User> ajax3(){
User user1 = new User("张儒珂1号", 18, "男");
User user2 = new User("张儒珂2号", 19, "男");
User user3 = new User("张儒珂3号", 20, "男");
List<User> list = new ArrayList<>();
list.add(user1);
list.add(user2);
list.add(user3);
return list;
}
}
请求获取数据
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script src="js/jquery-3.6.0.js"></script>
</head>
<body>
<input type="button" id="btn" value="获取数据"/>
<table width="80%" align="center">
<tr>
<td>姓名</td>
<td>年龄</td>
<td>性别</td>
</tr>
<tbody id="content"></tbody>
</table>
<script type="text/javascript">
//$(function())等同于$(document).ready(function()),意思很简单,就是等页面加载完毕之后,才开始执行函数。
$(function () {
$("#btn").click(function () {
$.post("/ajax/a3",function (data) {
console.log(data);
var html = "";
for (var 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>
![image-20210521153524642.png]()
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script src="/js/jquery-3.6.0.js"></script>
</head>
<body>
<script type="text/javascript">
function a2() {
$.post({
url:"/ajax/a2",
data:{"name": $("#txtName").val()},
success: function (data) {
if (data.toString() == "ok" )
{
$("#back1").css("color","green");
}
else
{
$("#back1").css("color","red");
}
$("#back1").html(data);
}
})
}
function a3() {
$.post({
url:"/ajax/a2",
data:{"pwd": $("#txtName2").val()},
success: function (data) {
if (data.toString() == "ok" )
{
$("#back2").css("color","green");
}
else
{
$("#back2").css("color","red");
}
$("#back2").html(data);
}
})
}
</script>
<p>
用户名:
<input type="text" id="txtName" onblur="a2()"/>
<span id="back1"></span>
</p>
<p>
密码:
<input type="text" id="txtName2" onblur="a3()"/>
<span id="back2"></span>
</p>
<body>
</body>
</html>
![image-20210521153609111.png]()