AJAX的学习总结

                                              AJAX学习总结

学习任务

  1. AJAX的主要作用/目的

  2. 实现原理

  3. 工作步骤

  4. XMLHttPRequest对象

  5. 实例AJAX的一般步骤

 

AJAX的主要作用/目的 

AJAX,我们都知道它的主要作用是异步传输,那什么叫异步传输呢?

异步传输是 通过在后台与服务器进行少量数据交换,使网页实现局部刷新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。以前的时候,浏览器与服务器之间的交互,都是客户端重新发送请求,服务器响应请求,响应的是整个页面。可能我们只是改了页面的很小一部分,其他都没变,但是服务器依然会给我们发送一个新的应答。导致客户端上的与服务器发来的有相关多的一部分是重复的。但是AJAX可以使我们局部刷新,使服务器给我们发我们需要的那部分。

那为什么它可以实现局部刷新呢?

这个问题我们放到结尾来回答。

实现原理

浏览器访问服务器时,标准的请求响应时,浏览器的动作是同步操作。如浏览器请求某地址。

工作步骤

AJAX

  1. 第一步浏览器中触发某个事件,创建XMLHttpRequest对象。
  2. 通过这个对象来向服务器发送请求。
  3. 服务器接收到该请求后,处理该请求,向浏览器做出回复。
  4. 浏览器中通过js代码来局部修改页面内容。

XMLHttPRequest对象

了解AJAX的小伙伴们,会发现在AJAX异步传输的过程中有一个对象至关重要且始终存在,它就是XMLHTTPRequest,下面我没来详细了解一下这个对象

XMLHttpRequest 用于在后台与服务器交换数据。没有它的存在,将不会有异步传输。

  1. 通过var  xmlhttp = new  XMLHttpRequest();来创建该对象。
  2. xmlhttp.onreadystatechange=function(){      执行  接受服务器响应和对服务器响应做出操作},该对象的onreadystatechange方法中,每当 readyState 改变时,就会触发 onreadystatechange 事件。readyState的值表示此次请求的状态信息,也就是XMLHttpRequest对象的状态信息。
  3. xmlhttp.open("GET/POST","URL",true);open()方法用来设置该请求的一些信息,第一个参数是请求类型(GET/POST),第二个参数是服务器目标文件的地址。第三个参数是,是否执行AJAX异步。
  4. xmlhttp.send();用来发送该请求。

实例AJAX的一般步骤

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script>
function loadXMLDoc()
{
	var xmlhttp;
	if (window.XMLHttpRequest)
	{
		xmlhttp=new XMLHttpRequest();
	}
	
	xmlhttp.onreadystatechange=function()
	{
		if (xmlhttp.readyState==4 && xmlhttp.status==200)
		{
			document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
		}
	}
	xmlhttp.open("GET","/try/ajax/ajax_info.txt",true);
	xmlhttp.send();
}
</script>
</head>
<body>

<div id="myDiv"><h1>哈哈哈哈</h1></div>
<button type="button" onclick="loadXMLDoc()">AJAX传值</button>

</body>
</html>

现在来解决开头的那个问题,为什么AJAX可以实现局部刷新呢?

  1. js可以获取网页中个元素的对象,然后修改它们
  2. 服务器的响应通过js来截断。然后通过js来实现网页的局部刷新

所以说AJAX是依托于js的,为什么ajax放在js代码中,就是因为js的这种局部修改的特殊性。 

发布了14 篇原创文章 · 获赞 8 · 访问量 4728

猜你喜欢

转载自blog.csdn.net/qq_41223538/article/details/103317196