AJAX学习笔记

之前一直不知道ajax为何物,只知道能实现异步同步,能发请求。
其实确实就是这么个东西。

AJAX = Asynchronous JavaScript and XML(异步的JavaScript和XML)、
作用是:与服务器交换数据并更新部分网页,在不重新加载整个页面的情况下。

XMLHttpRequest是AJAX的基础。
所有现代浏览器都支持XMLHttpRequest对象(IE5和IE6使用ActiveXObject)。

除了IE5,IE6需要使用ActiveX对象:

var request = new ActiveXObject("Microsoft.XMLHTTP");

现代浏览器都内建此对象:

var request = new XMLHttpRequest();

向服务器发送请求
需要使用XMLHttpRequest对象的open()和send()方法

AJAX学习笔记_第1张图片
向服务器发送请求所需方法.png

如果需要像HTML表单那样POST数据,需要使用setRequestHeader()来添加HTTP头。

xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");

异步or同步
open方法的async设置为true即为同步
这时候要规定在响应处于onreadystatechange事件中的就绪状态时执行的函数,如

xmlhttp.onreadystatechange=function()
{
    if(xmlhttp.readyState==4&&xmlhttp.state==200)
    {
    document.getElementById("myDiv").innerHTML=xml.responseText;
    }
}
xmlhttp.open("GET","test1.txt",true);
xmlhttp.send();

如果ascyn为false,就不要编写onreadystatechange函数,把代码放在send()语句后即可

xmlhttp.open("GET","test1.txt",false);
xmlhttp.send();
document.getElementById("myDiv").innerHTML=xmlhttp.responseText;

你可能感兴趣的:(AJAX学习笔记)