背景:
form表单操作起来只会让整个页面刷新。Ajax(Asynchronoud javascript and xml)可以局部的获取数据。异步的过程。异步 javascript,和xml,用异步的javascipt获取xml数据,现在操作的是json。
封装Ajax的具体参数
- Mothod : GET POST等。
- action : address;
- enctype : 固定在发送表单数据之前如何对其进行编码,application /x -www-form -urlencoded
在发送前编码所有的字符(默认)。 - 不对字符编码,在使用包含文件上擦黄空间的表单时,必须使用该值。
1
multipart / form-data (<input type =' file '>)
因为IE中并没有xmlHttpRequest() 这种方法, 所以要使用 new ActiveXObject(‘Microsoft.XMLHttp’)
如何封装一个自己的Ajax
1 | var xhr = null; |
Ajax的几种状态
- ajax.open (method , url ,true);
- ajax.send();
- onreadystatechage 4 // ajax状态每次变化都会触发
- 0 = 未初始化,未调用send() 方法
- 1= 读取中,已调用send () 发送请求
- 2 = 已读取 ,send 方法执行完成,接收到全部相应内容
- 3 = 交互中, 正在解析响应内容
- 4 = 完成 ,响应内容解析完成 //只关系这个过程
- status == 200 403 503
- 200代表成功 ,403代表请求访问的资源被服务器拒绝了,503表明服务器处于超负载或者正在进行停机维护。
Ajax支持的数据类型:
dataType选项除了单纯的xml,还可以指定html,json,jsonp,script 或者 text