ajax :无刷新数据读取
使用ajax ,可以读取服务器环境下的文件,使用的时候注意编码
- http请求
get:更适合获取数据
post:更适合上传数据
get和post对比
get数据放在网址后面进行提交,post数据放在http的content中提交
get安全性很低 ,post安全性一般
get容量很低,post容量无限 - js一个重要特性
如果只是使用一个不存在的变量,会直接报错;
如果使用一个不存在的属性,会undefined;
一个全局的变量,其实对于window来说是一个全局的属性;
var a=12;
alert(a); // 结果 12
alert(window.a); // 结果 12
alert(a);//结果 报错
alert(window.a) // 结果 undefined
3.使用ajax
1).创建一个ajax对象
2).连接服务器
3).发送请求
4).接收返回值
第一步:创建一个ajax对象
在ie6以上才能使用XMLHttpRequest
var oAjax = new XMLHttpRequest();
在ie6中使用ActiveXObject进行创建
new ActiveXObject("Microsoft.XMLHTTP");
使用if进行ie6的适配,但是一下方式在ie6中依然会报错
对于ie6来说XMLHttpRequest是一个不存在的变量
var oAjax = null;
//XMLHttpRequest这里会报错,因为对于ie6来说这是一个不存在的变量
if(XMLHttpRequest){
oAjax = XMLHttpRequest();
}else{
oAjax = new ActiveXObject("Microsoft.XMLHTTP");
}
这里就体现出js特性的好处:将不存在的变量转为属性
var oAjax = null;
//window.XMLHttpRequest在ie中也不会报错,只会是undefined
if(window.XMLHttpRequest){
oAjax = XMLHttpRequest();
}else{
oAjax = new ActiveXObject("Microsoft.XMLHTTP");
}
第2步:连接服务器
//open(方法,url,是否是异步)
oAjax.open("GET",url,true);
第3步:连接服务器
oAjax.send();
第4步:接收返回值
// oAjax.readyState = 0 //刚刚初始化完成
// oAjax.readyState = 1 //载入,已经调用了send方法,正在发送请求
// oAjax.readyState = 2 //载入完成,send方法完成,已收到全部相应内容
// oAjax.readyState = 3 //解析,正在解析响应内容
// oAjax.readyState = 4 //完成,响应内容解析完成,可以在客户端调用了,但是不代表成功
oAjax.onreadystatechange = function(){
if(oAjax.readyState==4) //完成
{
if(oAjax.status==200) //成功
{
alert(oAjax.responseText);//服务器返回值
}
else
{
alert(oAjax.status);// 错误
}
}
}
网友评论