Ajax主要解决了异步操作,通俗一点来讲就是在不刷新的页面的前提下,更新页面的数据。
使用原生ajax主要分为4个步骤:
1.创建对象;
var xhr=new xmlhttpRequest()
2.打开请求;
open(method,url,async)
①method是发送请求的方式一般常用的有get,post
关于post和get区别:
(1)Get使用URL传参。而POST将数据放在BODY中。
(2)GET的URL会有长度上的限制(浏览器本身支持?服务器加限制截掉url),则POST的数据则可以非常大。
(3)POST比GET安全,因为数据在地址栏上不可见。
②url请求的地址。
③async是否异步取值有true/false.一般取值true;
使用举例
xhr.open("get","exmple.txt",true)
3.发送请求;
xhr.send();
4.接受响应;
1)可以通过检查xhr对象的readyState的值,来判断对应的请求处于什么状态
•0: 未初始化。尚未调用open()方法•1: 启动。已经调用open()方法,尚未调用send()方法•2: 发送。已经调用send()方法,尚未收到响应。•3: 接收。已经接收到部分数据。•4: 完成。已经接收到全部响应数据。•当readystate值从一个值变为另一个值时,都会触发readystatechange事件。我们可以通过绑定onreadystatechange事件,来监听readystate的值是否为42)查看xhr的status值,查看服务器的响应结果
•0 本地请求,服务器成功返回了页面•200 OK 服务器成功返回了数据或者页面•400Bad Request 语法错误导致服务器不识别•401Unauthorized 请求需要用户认证•404 Not found 指定的URL在服务器上找不到•500Internal Server Error 服务器遇到意外错误,无法完成请求•503ServiceUnavailable 由于服务器过载或维护导致无法完成请求3)如果1、2返回结果成功,则可以通过xhr的responseText,获得响应的内容
function () {
}
}
}
xhr.open("get", "example.json", true);
xhr.send();
新闻热点
疑难解答