Ajax
Ajax特性:
1.向服务器请求额外数据,而无需加载页面,会带来更好的用户体验
2.Ajax技术的核心是XMLHttpRequest对象(简称XHR)
3.XHR为向服务器发送请求和解析服务器响应提供了流畅的接口
4.虽然名字包含XML成分,但是ajax通信和数据格式无关;这种技术就是无需刷新页面即可从服务器取得数据,但不一定是XML数据
5.XHR将浏览器的原生通信能力提供给了开发人员,简化了实现同样操作的任务
Ajax
1:创建XMLHttpRequest对象
var xhr=new XMLHttpRequest();
2:调用open()方法并不会真正发送请求,而是启动一个请求以备发送
Xhr.open(“get”,”example.txt”,false);
Open内有三个参数,第一个是数据传输方式,第二个是数据名称和类型,第三个是
3:发送特定请求用send();
4:检查status属性,代码状态为200就是成功执行,代码状态304表示请求的资源并没有被修改,可以直接使用浏览器中缓存的版本
5:无论内容类型是什么,响应主体的内容都会保存到responseText,而对于非XML数据而言,responseXML属性的值将为null;
6:要成功发送请求头部信息,必须在open()方法之后且调用send()方法之前调用setRequestHeader()
7.查询字符串中每个参数的名称和值都必须使用encodeURLComponent()进行编码,然后才能放到URL的末尾,而且所有名-值对儿都必须有&分隔
例:xhr.open(“get”,”example.php?name1=value1&name2=value2&name3=value3”);
8.可以使用addURLParam()函数确保查询字符串的格式良好
get和post的区别,get请求的数据量为2000字节,post理论上无限大 从性能上看post请求消耗的资源会更多一些,get请求的速度最多可以达到post请求的2倍
readyState属性的值由一个值变为另一个值,都会触发一次readystatechange事件
xhr.abort();取消异步请求
FormData()方法是为了序列化表单以及创建与表单格式相同的数据 append()方法接收两个参数,键和值,分别对应表单字段的名字和字段中包含的值