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的技术我也介绍完了,没错,就是这么简单
网友评论