一、创建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=中国");