Ajax知识点
什么是Ajax?
- Ajax是与服务器交换数据并更新部分网页的技术,在不重新加载整个页面的情况下。
Ajax的使用步骤:
1.创建一个异步对象
var xmlhttp=new XMLHttpResquest();
2.设置请求方式和请求地址
xmlhttp.open("GET","test1.txt",true);
规定请求的类型、URL 以及是否异步处理请求。
- method:请求的类型;GET 或 POST
- url:文件在服务器上的位置
- async:true(异步)或 false(同步)
3.发送请求
xmlhttp.send();
4.监听状态的变化
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status<300 || xmlhttp.status == 304)
{
console.log("接收到服务器返回的数据");
}
}
存有 XMLHttpRequest 的状态。从 0 到 4 发生变化。
- 0: 请求未初始化
- 1: 服务器连接已建立
- 2: 请求已接收
- 3: 请求处理中
- 4: 请求已完成,且响应已就绪
5.处理返回的结果
responseText | 获得字符串形式的响应数据。 |
---|---|
responseXML | 获得 XML 形式的响应数据。 |
Ajax在IE浏览器中的问题:
1.兼容性问题:
var xmlhttp;
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
2.缓存问题:
在IE浏览器中,如果通过Ajax发送GET请求,那么IE浏览器认为同一个URL只有一个结果。
解决方法:给url加上一个随机参数,如时间,随机数。new Date().getTime()