![v2-38da33a752b73269ba6fd79da1ff71ac_1440w.jpg?source=172ae18b](http://img-01.proxy.5ce.com/view/image?&type=2&guid=93f01e38-1830-eb11-8da9-e4434bdf6706&url=https://pic1.zhimg.com/v2-38da33a752b73269ba6fd79da1ff71ac_1440w.jpg?source=172ae18b)
ajax简单明了的说介绍一个客户端,往服务器发送请求,
举个例子,当你在访问百度页面注册账户的时候,当注册用户名的时候,是输入的用户名被注册的时候,会有一个提示,提示这个用户名已经被别人占用了,那么为什么会出现这个提示呢,其实它是一个当你注册用户名的时候,它向服务器发送了一个请求,请求你要注册的用户名和数据库的中名字对比,如果有这个用户名给你发回来一个数据, 那么一个html页面如何才可以向服务器发送请求呢
首先我们要在页面中帮上一个请求服务器的lp地址, 在html中new一个ajax的对象,var xhr=new XMLHttpRequest(); 然后要调用这个对象中的方法,进行设置它向服务器请求的方式,xhr.open(参数1,参数2) 参数1是向服务器请求的方式(ger/post),参数2是服务器的ip地址(http//....)
这样设置好了请求的方式,然后还要设置一个发送请求send(参数1), 是get请求send的参数为null,post请求send的参数为要传输的数据,最基本的ajax的获取ajax的对象,及设置请求方式和发送就结束了;
readyState, ajax状态码。
readyState==0,时表示对象以建立,只是new成功获取一个对象,没有调用open方法。
readyState==1,时表示对象已经初始化,但未发送,调用了open方法,没有调用send方法。
readyState==2,时已调用send方法进行请求。
readyState==3,时正在接受数据(接受到一部分),客户端已经接收到一部分返回的数据。
readyState==4,时接受完成,客户端已经接收到了使用数据。 ajax状态码,可以用来做判断,一般是当数据全部接收完的时候在执行代码,
ajax也给了我们一个事件,可以做判断状态码在什么阶段 xhr.onredystatechange=function(){}, 当状态码发生改变的时候触发一个函数。 一般用于当状态码等于4的时候执行函数里的代码,
如何接受服务器响应回来的数据呢,ajax给了两个方法,如果服务器响应回来的数据是字符串格式的话,用:xhr.responseText,如果服务器响应回来的数据是XLM格式的话,用:xhr.responseXML, xhr.responseText==响应回来的数据