onreadystatechange 每次状态改变所触发事件的事件处理程序;
responseText 从服务器进程返回数据的字符串形式;
responseXML 从服务器进程返回的DOM兼容的文档数据对象;
status 从服务器返回的数字代码,常见的200(客户端请求成功,已就绪)和404(请求资源不存在)
statusText 伴随状态码的字符串信息 (eg:200 OK)
readyState 对象状态值
0(未初始化状态)对象已建立或已被abort()方法重置,尚未调用open方法。
1(初始化状态)open()方法已经调用,但是send()方法为调用。请求还没有被发送。
2(发送数据)send()方法法以调用,HTTP请求已发送到Web服务器。未接收到响应。
<script type="text/javascript">//请求函数
function f1(){
console.log('start')
//1.创建AJAX对象
var ajax = new XMLHttpRequest()
//4.给AJAX设置事件(这里最多感知4[1-4]个状态)
ajax.onreadystatechange = function(){
//5.获取响应
//responseText 以字符串的形式接收服务器返回的信息
//console.log(ajax.readyState)
if(ajax.readyState == 4 && ajax.status == 200){
var msg = ajax.responseText
console.log(msg)
//alert(msg)
var divtag = document.getElementById('result')
divtag.innerHTML = msg
}
}
//2.创建http请求,并设置请求地址
var username = document.getElementsByTagName('input')[0].value
var email = document.getElementsByTagName('input')[1].value
username = encodeURIComponent(username) //对输入的特殊符号(&,=等)进行编码
email = encodeURIComponent(email)
ajax.open('get','response.php?username='+username+'&email='+email)
//3.发送请求(get--null post--数据)
ajax.send(null)
}
</script>