javaweb基础打卡25

AJAX:异步的JavaScript和XML1.概念:ASynchronous JavaScript And XML 异步的JavaScript和XML 1.异步和同步:客户端和服务器端相互通信的基础上 1.同步:客户端必须等待服务器端的响应。在等待的期间客户端不能做其他操作 2.异步:客户端不需要等待服务器端的响应。在服务器处理请求的过程中,客户端可以进行其他的操作 Ajax是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。 通过在后台与服务器进行少量数据交换,Ajax可
摘要由CSDN通过智能技术生成

AJAX:异步的JavaScript和XML

1.概念:ASynchronous JavaScript And XML	异步的JavaScript和XML
	1.异步和同步:客户端和服务器端相互通信的基础上
		1.同步:客户端必须等待服务器端的响应。在等待的期间客户端不能做其他操作
		2.异步:客户端不需要等待服务器端的响应。在服务器处理请求的过程中,客户端可以进行其他的操作

		Ajax是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。
		通过在后台与服务器进行少量数据交换,Ajax可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。
		传统的网页(不使用Ajax)如果需要更新内容,必须重新加载整个网页页面
		
		- 提升用户的体验
2.实现方式:
	1.原生的JS实现方式(了解)
		- 代码演示:
			- sevlet
				@WebServlet("/ajaxServlet")
				public class AjaxServlet extends HttpServlet {
   
					protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
   
						//获取请求参数
						String username = request.getParameter("username");
						//处理业务逻辑。耗时
						try {
   
							Thread.sleep(5000);
						} catch (InterruptedException e) {
   
							e.printStackTrace();
						}
						//2.打印username
						System.out.println(username);
						//3.响应
						response.getWriter().write("hello : " + username);
					}

					protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
   
						this.doPost(request, response);
					}
				}
			- html
			<script>
				//定义方法
				function fun(){
   
					//发送异步请求
					//1.创建核心对象
					var xmlhttp;
					if (window.XMLHttpRequest)
					{
   // code for IE7+, Firefox, Chrome, Opera, Safari
						xmlhttp=new XMLHttpRequest();
					}
					else
					{
   // code for IE6, IE5
						xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
					}
					//2.建立连接
					/*
					参数:
						1.请求方式:GET、POST
							- get方式:请求参数在URL后边拼接。send方法为空参
							- post方式:请求参数在send方法中定义
						2.请求的URL
						3.同步或异步请求:true(异步)或 false(同步)
					 */
					xmlhttp.open("GET","ajaxServlet?username=tom",true);
					//3.发送请求
					xmlhttp.send();
					//4.接收并处理来自服务器的响应结果
					//获取方式:xmlhttp.responseText;
					//什么时候获取?当服务器响应成功后再获取

					//当xmlhttp对象的就绪状态改变时,触发事件onreadystatechange
					xmlhttp.onreadystatechange=function()
					{
   
						//判断readyState就绪状态是否为4,判断status响应状态码是否为200
						if (xmlhttp.readyState==4 && xmlhttp.status==200)
						{
   
							//获取服务器的响应结果
							var responseText = xmlhttp.responseText;
							alert(responseText);
						}
					}
				}
			</script>
			<input type="button" value="发送异步请求" onclick="fun();">
			<input>
	2.JQuery实现方式
		1.$.ajax()
			- 语法:$.ajax({
   键值对});
			- 代码演示:
				<script src="js/jquery-3.3.1.js"></script>
				<script>
					//定义方法
					function fun(){
   
						//使用$.ajax()发送异步请求
						$.ajax({
   
							url:"ajaxServlet",//请求路径
							type:"POST",//请求方式
							//data:"username=jack&age=23",//请求参数
							data:{
   "username":"jack","age":23}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值