ajax笔记

学习视频:bilibili动力节点Ajax学习视频

一、全局刷新和局部刷新

全局刷新:整个浏览器被新的数据覆盖。在网络中传输大量的数据。浏览器需要加载,渲染页面。
局部刷新:在整个浏览器的内部,发起请求,获取数据,改变页面中的部分内容。
  其余的页面无需加载和渲染,网络中数据传输量少,给用户的感受好。

ajax是用来做局部刷新的,局部刷新使用的核心对象是:异步对象(XMLHttpRequest)
这个异步对象是存在浏览器内存中的,使用JavaScript语法穿件和使用该对象。

二、ajax

1、什么是ajax
	全称:Asynchronous JavaScript and XML(异步的JavaScript和XML)。
	Asynchronous :异步
	XML:一种数据格式

ajax是一种做局部刷新的新方法,不是一种语言,ajax包含的技术主要有JavaScript,dom,css,xml等等。
核心是JavaScript和xml。
JavaScript:负责创建异步对象,发送请求,更新页面的dom对象。
xml:网络中传输的数据格式

三、ajax中使用XMLHttpRequest对象

1、创建异步对象 var xmlHttp = new XMLHttpRequest();
2、给异步对象绑定事件。
	btn.onclick = fun11()
	function fun1(){
		alert("按钮单击");
	}
	
	onreadystatechange事件:当异步对象发起请求,获取了数据都会触发这个事件, 	
	这个事件需要指定一个函数,在函数中处理状态的变化。

	异步对象的属性 readyState 表示异步对象请求的状态变化
		0:创建异步对象时,new XMLHTTPRequest();
		1:初始异步请求对象,xmlHttp.open()
		2:发送请求,xmlHttp.send();
		3:从服务器端获取了数据,此时3,注意3是异步对象内部使用,获取了原始的数据,
		4:异步对象把接收的数据处理完成后,此时开发人员在4的时候。
			在4的时候,开发人员做什么?更新当前页面

	异步对象的status属性,表示网络请求的状况的,200,404,500,需要是当status=200时,表示网络请求成功

	例如:xmlHttp.onreadystatechange = function() {
		处理请求的状态变化
		if(xmlHttp.readyState == 4 && xmlHttp.status == 200){
			//可以处理服务器端的数据,更新当前页面
		}
	}

3、初始异步请求对象
	异步的方法open().
	xmlHttp.open(请求方式get / post, “服务器端的访问地址”,同步 / 异步请求(默认true,异步请求))
	true:异步处理请求。使用异步对象发起请求后,不用等待数据处理完毕,就可以执行其他的操作。
	false:同步,异步对象必须处理完请求,从服务器端获取数据后,才能执行其他代码。(任意时刻只能执行一个异步请求)
	例如:xmlHttp.open("get", "loginServlet?name=zs&password=123", true);
4、使用异步对象发送请求
	xmlHttp.send()

获取服务器端返回的数据,使用异步对象的属性 reponseText
使用例子:xmlHttp.reponseText	

回调:当请求的状态变化时,异步对象会自动调用onreadystatechange事件对应的函数

四、ajax与json

ajax发送请求----servlet(返回一个json格式的字符串{name:"河南",jiancheng:"豫",chengshi:"郑州"})

json分类:
	1、json对象,JSONObject,这种对象的格式为:(名称:值,也可看做key:value格式)
	2、json数组,JSONArray,格式[{name:"河南",jiancheng:"豫",chengshi:"郑州"},{name:"河南",jiancheng:"豫",chengshi:"郑州"},{name:"河南",jiancheng:"豫",chengshi:"郑州"}]

为什么要使用json:
	1、json格式好理解
	2、json格式数据在多种语言中,比较容易处理,使用java,JavaScript读写json格式的数据比较容易
	3、json格式数据它占用的空间小,网络中传输快,用户体验好

处理json的工具库:
	gson(Google)
	fastjson(阿里):速度快,不是最符合json处理规范的
	jackson:性能好,规范好
	json-lib:性能差,依赖多

在JavaScript中可以吧json格式的字符串,转为json对象,json中的key就是json对象的属性名
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值