AJAX概述,应用场景和其优缺点

AJAX小例子:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>

<script type="text/javascript">
	window.οnlοad=function(){//文档加载完毕后执行
		//得到btn元素
		var btn = document.getElementById("btn");//获取btn这个id
		//给按钮的点击事件注册监听
		btn.onclick = function(){//在按钮被点击时执行
			//获取h1元素对应的DOM对象
			var h1 = document.getElementById("h1");
			//给h1添加内容
			h1.innerHTML = "Hello JavaScript!";
		};
	};
</script>
</head>
<body>
<button id="btn">点击这里局部刷新</button>
<h1 id="h1"></h1>
</body>
</html>

AJAX概述

1 什么是AJAX

AJAX(Asynchronous Javascript And XML)翻译成中文就是“异步Javascript和XML”。即使用Javascript语言与服务器进行异步交互,传输的数据为XML(当然,传输的数据不只是XML,可以是jSon 纯文本text)。

AJAX还有一个最大的特点就是,当服务器响应时,不用刷新整个浏览器页面,而是可以局部刷新。这一特点给用户的感受是在不知不觉中完成请求和响应过程。

 

l  与服务器异步交互;

l  浏览器页面局部刷新;

 

2. 同步交互与异步交互

l  同步交互:客户端发出一个请求后,需要等待服务器响应结束后,才能发出第二个请求;

l  异步交互:客户端发出一个请求后,无需等待服务器响应结束,就可以发出第二个请求。

3. AJAX常见应用情景

 

当我们在百度中输入一个“传”字后,会马上出现一个下拉列表!列表中显示的是包含“传”字的10个关键字。

其实这里就使用了AJAX技术!当文件框发生了输入变化时,浏览器会使用AJAX技术向服务器发送一个请求,查询包含“传”字的前10个关键字,然后服务器会把查询到的结果响应给浏览器,最后浏览器把这10个关键字显示在下拉列表中。

l  整个过程中页面没有刷新,只是刷新页面中的局部位置而已!

l  当请求发出后,浏览器还可以进行其他操作,无需等待服务器的响应!

 

 

当输入用户名后,把光标移动到其他表单项上时,浏览器会使用AJAX技术向服务器发出请求,服务器会查询名为zhangSan的用户是否存在,最终服务器返回true表示名为zhangSan的用户已经存在了,浏览器在得到结果后显示“用户名已被注册!”。

l  整个过程中页面没有刷新,只是局部刷新了;

l  在请求发出后,浏览器不用等待服务器响应结果就可以进行其他操作;

 

4 AJAX的优缺点

优点:

l  AJAX使用Javascript技术向服务器发送异步请求;

l  AJAX无须刷新整个页面;

l  因为服务器响应内容不再是整个页面,而是页面中的局部,所以AJAX性能高;

缺点:

l  AJAX并不适合所有场景,很多时候还是要使用同步交互;

l  AJAX虽然提高了用户体验,但无形中向服务器发送的请求次数增多了,导致服务器压力增大;

l  因为AJAX是在浏览器中使用Javascript技术完成的,所以还需要处理浏览器兼容性问题;


  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值