// 让异步对象发送请求
// 1 创建异步对象
var xhr = new XMLHttpRequest();
// 2 设置 请求行 open(请求方式,请求url):
// get请求如果有参数,需要在url后面拼接参数
// post如果有参数,在请求体中传递
xhr.open("get","validate.php?username="+name);
//3 设置 请求头 setRequestHeader('key':'value')
// get方式不需要设置请求头
// post需要设置 Content-Type:application/x-www-form-urlencoded
//4 设置 请求体:发送请求 send(参数:key=value&key=value)
// 如果有参数,post应该在这个位置来传递参数
// get请求不需要在这个位置来传递参数,可以传null或不写
xhr.send(null);
// 响应报文:
// 报文行:响应状态码 响应状态信息 200 ok
// 报文头:服务器返回给客户端的一些额外信息
// 报文体:服务器返回给客户端的数据 responseText:普通字符串 responseXML:符合xml格式的字符串,
//获取的结果可以理解为一个dom结构,可以使用dom的方式来获取这个返回值的数据
// xhr.status:可以获取当前服务器的响应状态 200 》成功
// 一个真正成功的响应应该包含两个方面:1.服务器成功响应 2.数据已经回到客户端并且可以使用了
// 监听异步对象的响应状态 readystate
// 0:创建了异步对象,但是还没有真正的去发送请求
// 1.调用了send方法,正在发送请求
// 2.send方法执行完毕了,已经收到服务器的响应内容--原始内容,还不可以使用
// 3.正在解析数据
// 4.响应内容解析完毕,可以使用了
xhr.onreadystatechange = function(){
if(xhr.status == 200 && xhr.readyState == 4){}
}; |
|