Ajax
AI-摘要
KunKunYu GPT
AI初始化中...
介绍自己
生成本文简介
推荐相关文章
前往主页
前往tianli博客
本文最后更新于 2025-04-25,文章内容可能已经过时。
概念:
Asynchronous JavaScript And XML(异步的JavaScript和XML)
同步&异步:
同步:客户端必须等待服务器的响应,等待期间客户端不能左其他操作。
异步:客户端无需等待服务器响应,可以进行其他操作,当服务器响应完成时,客户端再进行本地响应。
Ajax 是一种无需重新加载整个网页的情况下,能够更新部分网页的技术。通过在后台于服务器进行少量的数据交换,Ajax可以使网页实现异步更新,这意味着可以在不重新刷新整个网页的情况下,对网页的某部分进行更新,提升用户的体验。
实现方法:
原生的js方式(仅供了解)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<script>
function fun(){
var xmlHttp;
if(window.XMLHttpRequest){
//IE7+核心,firefox,chrome,opera,safari
xmlHttp = new XMLHttpRequest();
}else {
//IE6,IE5核心
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
/**
* 建立连接:
* 参数:
* 1.GET/POST(请求方式)
* *get方式,请求参数在URL后面拼接,send方法为空参数
* *post方式,请求参数在send方法中
* 2.请求的URL
* 3.同步或异步请求:true(异步),false(同步)
*/
xmlHttp.open("GET","AjaxServlet?username=bob",true);
xmlHttp.send();
//接受并处理来自服务器的响应结果
//当http请求成功后,执行如下方法,触发onreadystatechange事件
/**
0:请求未初始化
1:服务器连接已建立
2:请求已收到
3:正在处理请求
4:请求已完成且响应已就绪
响应码为200,则为请求成功
*/
xmlHttp.onreadystatechange=function () {
if(xmlHttp.readyState == 4 && xmlHttp.status == 200){
var responseText = xmlHttp.responseText;
alert(responseText);
}
}
}
</script>
<body>
<input type="button" value="发送异步请求" onclick="fun();">
<input>
</body>
</html>
Servlet
package top.mccat.raven;
import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.annotation.*;
import java.io.IOException;
@WebServlet(name = "AjaxServlet", value = "/AjaxServlet")
public class AjaxServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
this.doPost(request, response);
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String name = request.getParameter("username");
System.out.println(name);
response.getWriter().write("hello "+name);
}
}
Jquery实现方式
1.$.ajax()
语法:$.ajax({键值对});
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<script src="js/jquery-3.6.0.min.js"></script>
<script>
function fun(){
$.ajax({
url:"AjaxServlet",//请求路径
type:"POST",//请求方式
//data:"username=bob&age=23",//请求参数
data:{"username":"jack","age":23},//json方式
dataType:"text",
success:function (resultData) {//接受服务器传值
alert(resultData);
},
error:function () {
alert("出错啦");
}
});
}
</script>
<body>
<input type="button" value="发送异步请求" onclick="fun();">
<input>
</body>
</html>
2.$.get()
语法:$.get(url,[data],[callback],[type])//通过get请求
参数:
url:请求路径
data:请求参数
callback:回调函数
type:响应结果的类型
function fun(){
$.get("AjaxServlet",{username:"raven",age:18},function (data) {
alert(data);
},"text");
}
3.$.post()
语法:$.post(url,[data],[callback],[type])//通过post请求
参数:
url:请求路径
data:请求参数
callback:回调函数
type:响应结果的类型
$.post("AjaxServlet",{username:"raven",age:18},function (data) {
alert(data);
},"text");
本文是原创文章,采用 CC BY-NC-ND 4.0 协议,完整转载请注明来自 Kevin li
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果