XMLHttpRequest
function getHTTPObject(){
var xhr = false;
if(window.XMLHttpRequest){
xhr = new XMLHttpRequest();
}else if(window.ActiveXObject){
xhr = new ActiveXObject(“Microsoft.XMLHttp”);
}
return xhr;
}
使用XMLHttpRequest向服务器发送GET请求
<!DOCTYPE html>
<html>
<head>
<Meta charset="UTF-8">
<title>Insert title here</title>
<script type="text/javascript"> window.onload = function(){ alert("onload"); //1.获取a节点,修改默认的onclick响应函数 document.getElementsByTagName("a")[0].onclick = function(){ alert("进入onclick") //3、创建XMLHttpRequest对象 var request = new XMLHttpRequest(); //4、准备发送请求的数据:url var url = this.href+"?time" = new Date(); var method = "GET"; //5、调用XMLHttpRequest的open方法 request.open(method,url); //6、调用XMLHttpRequest对象的send方法 request.send(null); //7、为XMLHttpRequest对象添加onreadystatechange响应函数 request.onreadystatechange = function(){ alert("request.readyState = " + request.readyState); //8\判断响应是否完成:对象的readyState属性等于4的时候 if(request.readyState == 4){ //9、在判断响应事都可用:status属性为200 if(request.status == 200 || request.status == 304){ //10、打印响应结果:responseText alert(request.responseText); } } } //2、取消a节点的默认行为 return false; } } </script>
</head>
<body>
<a href="hello.txt">helloAjax</a>
</body>
</html>
onreadystatechange
onreadystatechange该事件处理函数由服务器触发,而不是用户。
每次readyState属性的改变都会触发readystatechange事件。
open(method,url,asynch)
只想从服务器检索一个文件,而不需要发送任何数据时使用GET(可以在GET请求里通过附加在URL上的查询字符串来发送数据,大小限制为2000个字符)。
若要向服务器发送数据使用POST。
数据格式
数据格式Html
通过XMLHttpRequest发送HTML,文本将存储在requestText中