一、Ajax与http详解
Ajax全名为Asynchronous javascript and xml
是指围绕(由js向服务器发起http请求),这个功能而开发的一整套完整做法
处理网络请求的四个步骤:
1、创建Xhr对象
2、发出HTTP请求
3、接收服务器回传的数据
4、更新网页数据
二、Xhr对象的常用属性和方法
1、readystatechange 页面的加载状态监听
描述:本事件不需用户主动调用,会在页面加载状态发生改变时自动调用
语法:.onreadystatechange=function(){......};
.addEventListener('readystatechange',function(){...},bool)
2、readyState属性(值为4,证明服务器已经完整收到信息)
描述:是一个只读属性,用一个整数和对应常量表示XMLHttpRequest
请求当前所处状态,一般在onreadystatechange事件的回调函数中,
通过判断readystate的值,进而执行不同状态对应的函数
3、status属性(后端给前台返回数据)
描述:表示本次请求所得到的HTTP状态码,是一个整数 也是只读属性
值为200:正常 值为404:未发现网址 值为500:服务器崩溃
4、statusText 请求失败
5、responseText 请求成功
6、open()方法 设置请求发送到哪里,不是真的发送
语法:xhr.open('请求类型','url地址','是否异步')
7、send 发送请求
语法:xhr.set(); post是formdata get是null
三、xhr对象发送post请求
post和get的差异在于多了一个表单数据
在xhr对象中可以通过FormData进行创建
formData创建的位置和时机,只要在send之前就可以
语法:
var formData =new FormData(); formData.append('key',value); //value是字符串时加引号
四、xhr对象的兼容性问题
描述:xhr对象的获取方式在IE和非IE需要不同方法
标准:XMLHttpRequest();
IE:ActiveXObject();
五、请求超时timeout与超时监听ontimeout
timeout单位是毫秒,表示当请求发出后等待相应的时间
ontimeout是超时后,自动执行的回调方法