天天看点

WEB前端 -- ajax

一、创建ajax程序的基本流程

1.创建XMLHttpRequest对象

var request;
if(window.XMLHttpRequest){//Mozilla,...
   request = new XMLHttpRequest();
}elseif(window.ActiveXObject){
   request = new ActiveXObject("Msxml.XMLHTTP");
}
           

2.使用XMLHttpRequest对象创建请求

request.open("get","testAjaxServlet");
           

3.监视response的状态,写回调函数定义处理器返回的数据

request.onreadystatechange = function(){
  if(request.readyState == 4){
     var result = request.responseText;//得到服务器端返回的数据
     document.getElementById("div2").innerHTML=result;
   }
}
           

4.使用XMLHttpRequest对象发送请求

request.send(null);//如果不写null,火狐会报错
           

二、完整的ajax实例代码

readyState值 含义
表示XMLHttpRequest已建立,但还未初始化,这时尚未调用open方法
1 表示open方法已经调用,但未调用send方法(已创建,未发送)
2 表示send方法已经调用,其他数据未知
3 表示请求已经成功发送,正在接受数据
4 表示数据已经成功接收
Http状态码 含义
200 请求成功
404 请求资源未找到
500 内部服务器错误

三、Ajax的两种传参方式

1.get方式传参

1)直接通过URL传参

2)注意:get方式提交经常会遇到的浏览器缓存问题,浏览器不对同样的URL重复提交,这时可以在URL后面增加参数:

?rand=Math.random()或rand = new Date()

2.post方式传参

request.open("post","url");
req.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
req.send("a=3&b=中国");
           

继续阅读