之前一直不知道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()方法
如果需要像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;
网友评论