背景:

form表单操作起来只会让整个页面刷新。Ajax(Asynchronoud javascript and xml)可以局部的获取数据。异步的过程。异步 javascript,和xml,用异步的javascipt获取xml数据,现在操作的是json。

封装Ajax的具体参数
  1. Mothod : GET POST等。
  2. action : address;
  3. enctype : 固定在发送表单数据之前如何对其进行编码,application /x -www-form -urlencoded
    在发送前编码所有的字符(默认)。
  4. 1
    multipart / form-data (<input type =' file '>)
    不对字符编码,在使用包含文件上擦黄空间的表单时,必须使用该值。

因为IE中并没有xmlHttpRequest() 这种方法, 所以要使用 new ActiveXObject(‘Microsoft.XMLHttp’)

如何封装一个自己的Ajax
1
2
3
4
5
6
var xhr = null;
if(window.XMLHttpRequest) {
xhr = new XMLHttpRequest(); //判断是否为主流浏览器
}else {
xhr = new ActiveXObject('Microsoft.XMLHttp') //IE浏览器
}
Ajax的几种状态
  1. ajax.open (method , url ,true);
  2. ajax.send();
  3. 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

评论