Ajxs技术(异步的JavaScript与XML)已有多种技术的组合
Ajax的优点是什么?
1.可以实现客户端的异步请求操作2.进而在不需要刷新页面的情况下与服务器进行通信,减少用户的等待时间3.减轻服务器和带宽的负担,提供更好的服务响应。4.可以调用XML等外部数据,进而促进页面显示和数据的分离。5.基于标准化的并被广泛支持技术,不需要下载插件或者小程序。
其中最核心的技术就是XMLHttpRequest。它是一个具有应用程序的JavaScript对象,能够使用HTTP连接一个服务器。
Ajax的工作流程
1.发送请求
Ajax可以通过XMLHttpRequest对象实现采用异步方式在后台发送请求。发送请求:(1)发送GET请求(2)发送POST请求
两种请求都是需要经过四个步骤:
(1)初始化XMLHttpRequest对象:提高程序的兼容性;
http_request=new XMLHttpRequest();
(2)为XMLHttpRequest对象指定一个回调函数,用于返回结果进行处理;
http_request.onreadystatechange= getResult; //调用回调函数
如果需要指定传递参数,可以使用:
http_request.onreadystatechange=function(){ getResult( param) }
(3)创建一个与服务器的连接。(GET / POST)(是否采用异步发送 ture)
a) http_request.open(‘GET’,url,true); 采用异步方式发送GET请求
b) http_request.open(‘POST’,url,true); 采用异步方式发送POST请求
其中open()方法中的url参数可以是一个JSP的url地址,也可以是Servlet的映射地址。
指定URL参数时,最好加个时间,为了防止因浏览器缓存结果而不能实时得到最新的结果:
String url=“GG.jsp?n=”+new Date().getTime();
(4)向服务器发送请求。利用XHR对象的send()方法可以实现;
a) 向服务器发送GET请求,参数可以设置为NULL
http_request.send( null );
b) POST 参数可以是组合参数
Var param=“user”+***.value+...;
http_request.send( param );
发送POST请求前需要设置正确的请求头:
http_request.setRequestHeader(“”,“”); 需要放在send前
2.处理服务器的响应
XHR对象提供了两个用来访问服务器响应的属性:1.responseText属性,返回字符串响应;2.responseXML属性,返回XML响应。
---------分割线-------------------------------------------------------------------------------------------------------
Last.jQuery
由于Ajax的工作流程比较繁琐,每次需要编写大量的JavaScript代码,jQuery便是可以简化之实现Ajax;
1.简介
jQuery是一套简洁、快速、灵活的JavaScript脚本库。类似java的类库,将工具方法和对象方法封装在自己的类库里,方便用户使用
从“$”“()”开始
下载后放入js文件夹中:
<script src=”JS/文件名.js” type=“text/JavaScript”></JavaScript>
2.JQ的工厂函数
a) 在参数中使用标记名
- $(“div”):用于获取文档中全部的<div>
b) 在参数中使用ID
- $(“#username”):用于获取文档中ID属性为username的一个元素
c) 在参数中使用CSS类名
- $(“.btn_grey”):用于获取文档中使用CSS类名为btn_grey的所有元素
3.实例
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<script src="JS/jquery-3.1.1.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function(){
$("a").click(function(){
alert("我是一个jQuery脚本!");
});
});
</script>
</head>
<body>
<a href="#">弹出对话框</a>
</body>
</html>
结果出有一个链接,点击后会弹出一个对话框
以上介绍,详细以后慢慢罗列。