AJAX基础知识

目录

  • 一、AJAX技术(Asynchronization JavaScript And Xml)
  • 二、请求方式
  • 三、AJAX实现步骤
  • 四、异步请求对象的工作状态
  • 五、得到响应数据
  • 六、高级对象类型
  • 七、maven配置JSON工具

一、AJAX技术(Asynchronization JavaScript And Xml)


1、相当于技术的封装(JavaScript And Xml)


2、帮助开发人员管理浏览器中的异步请求对象


二、请求方式


1.同步请求:在当前异步请求对象工作期间,浏览器只能处于等待状态;当前异步请求对象工作完毕,浏览器才可以委派其他异步请求对象发送请求


2.异步请求:在当前异步请求对象工作期间,浏览器可以继续委派其他的异步请求对象发送其他请求


三、AJAX实现步骤


1.如何创建一个异步请求对象

var xmlHttp = new XMLHttpRequest();


2.如何为异步请求对象绑定工作状态监听器

xmlHttp.onreadystatechange = function(){
// 具体实现,状态(5种)改变时调用
};


3.如何初始化异步请求对象

xmlHttp.open(“post/get”,"/myWeb/oneServlet?uname=smith",true) // true是异步请求


4.如何命令异步请求对象代替浏览器发送请求

xmlHttp.send();



四、异步请求对象的工作状态


1、readyState属性:存储当前的工作状态

xmlHttp.readyState 状态 发生位置
0 异步请求对象已经被创建完毕 var xmlHttp = new XMLHttpRequest();
1 异步请求对象已经被初始化完毕 xmlHttp.open (“post/get”, “/myWeb/oneServlet?uname=smith”, true)
2 异步请求对象已经发送了请求协议包,如果正常情况,此时服务端应该正在处理这个请求 xmlHttp.send();
3 异步请求对象已经得到服务端返回的响应包,此时异步请求对象正在解析响应包中响应体内容
4 异步请求对象已经解析数据完毕,此时数据是符合脚本规范,开发人员可以提取响应数据的数据



五、得到响应数据

xmlHttp.onreadystatechange = function(){
		// 每当事件处理函数被调用时,多需要询问异步请求对象当前工作状态;以及AJAX状态码为200(请求成功)
	if(xmlHttp.readyState==4 && xmlHttp.status=200){
		//读取响应数据
		var data = xmlHttp.responseText;
		callBack(data)
	}
};
// 局部刷新实现函数
function callBack(param){
	$("div").text(param)
}



六、高级对象类型


1、异步请求对象和浏览器无法解析服务端返回的高级类型对象


2、异步请求对象和浏览器只能接受来自于服务端发送的基本类型数据(int,String)


3、只能将高级类型对象转变为标准的JSON格式字符串交给异步请求对象


七、maven配置JSON工具

	
    <dependency>
      <groupId>net.sf.json-libgroupId>
      <artifactId>json-libartifactId>
      <version>2.4version>
      <classifier>jdk15classifier>
    dependency>
    <dependency>
      <groupId>commons-beanutilsgroupId>
      <artifactId>commons-beanutilsartifactId>
      <version>1.7.0version>
    dependency>
    <dependency>
      <groupId>commons-collectionsgroupId>
      <artifactId>commons-collectionsartifactId>
      <version>3.1version>
    dependency>
    <dependency>
      <groupId>commons-langgroupId>
      <artifactId>commons-langartifactId>
      <version>2.5version>
    dependency>
    <dependency>
      <groupId>net.sf.ezmorphgroupId>
      <artifactId>ezmorphartifactId>
      <version>1.0.3version>
    dependency>

你可能感兴趣的:(计算机科学与技术,java,ajax,js,javascript,最新maven)