AJax解析

AJAX = Asynchronous JavaScript and XML(异步的 JavaScript 和 XML)。

AJAX 不是新的编程语言,而是一种使用现有标准的新方法。

AJAX 最大的优点是在不重新加载整个页面的情况下,可以与服务器交换数据并更新部分网页内容。

AJAX 不需要任何浏览器插件,但需要用户允许JavaScript在浏览器上执行。

AJax是一种异步的请求技术,AJax是一种技术,不是一种语言。


昨天晚上熬夜学习ajax的技术,因为最近在走向全栈工程师,因此后端和前端的交互肯定是要学的。废话不多说,上代码:

function loadXMLDoc(){

var xmlhttp;

if (window.XMLHttpRequest){

xmlhttp=new XMLHttpRequest();

}else{

xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");}

xmlhttp.onreadystatechange=function(){

if (xmlhttp.readyState==4 && xmlhttp.status==200){

document.getElementById("myDiv").innerHTML=xmlhttp.responseText;

}

}

xmlhttp.open("GET","www.baidu.com",true);

xmlhttp.send();}

window.XMLHttpReques:判断浏览器是否支持ajax;

xmlhttp=new XMLHttpRequest():新建ajax对象,适用于低版本的内核的浏览器

xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");}:适用于高版本内核的浏览器 

xmlhttp.onreadystatechange:当状态改变,状态值有四个0,1,2,3,4

注意:在FF中当状态为1(即XMLHttpRequest已经调用open但还没有调用send时),FF则会继续执行onreadystatechange后面的代码,到执行完后面的代码后,在执行onreadystatechange在状态2,3,4的代码,而IE会等待状态2的到了,执行完onreadystatechange中状态2,3,4的代码后,继续执行后面的代码,这样问题就出现了,经常我们在onreadystatechange的代码要处理从服务器上获得的数据(这个数据只有在onreadystatechange的状态为4时,才可以得到),所以这在IE中不存在问题,因为它会等待onreadystatechange状态4到来以后,在执行onreadystatechange后面的数据;

xmlhttp.readyState==4 && xmlhttp.status==200:判断状态值和返回值是不是正常。(这个是在请求数据之后获取,上面我也说明了状态值的返回顺序)

xmlhttp.open("GET","/try/ajax/ajax_info.txt",true);:进行链接,第一个是请求方式,第二个是请求链接,第三个可选参数:是否为异步,默认为true

xmlhttp.send();:发送请求。

ok,ajax的技术我也介绍完了,没错,就是这么简单

你可能感兴趣的:(AJax解析)