Ajax学习

ajax 请求:

    1.创建Ajax对象

        2.连接服务器

    3.发送请求

       4.接收返回值


eg: 取‘123.txt’中的数据:


1.创建Ajax对象(两种方法创建)

      - ie6:new ActiveXObject("Microsoft.XMLHTTP");

      - 其他:new XMLHttpRequest();

    兼容写法:

        var oAjax=null;
        if(window.XMLHttpRequest){          //必须判断属性,不能用变量
		oAjax=new XMLHttpRequest();
	}
	else{
		oAjax=new ActiveXObject("Microsoft.XMLHTTP");
	}

2.连接服务器

      open(方法,url,是否异步),我们要取123.txt中的数据。

      oAjax.open('GET','123.txt',true);

3.发送请求

     send()

      oAjax.send();

4.接收返回值,请求状态监控

   onreadystatechange事件:
   - readystate属性:请求状态
0:未初始化
1:已调用send()方法,真正该发送请求
2:send()方法已完成,已收到全部相应内容(可能被加密了)
3:正在解析相应内容(解析成js能理解的东西)
4:相应内容解析完成,不代表是否成功
   - status表示是否成功。200成功,30*重定向,404没找到。

   - responseText 取回服务器返回的数据

oAjax.onreadystatechange=function(){
	if(oAjax.readyState==4){
		if(oAjax.status==200){
			alert('成功'+oAjax.responseText);
		}<pre name="code" class="javascript">        <span style="font-family: Arial, Helvetica, sans-serif;">else{</span>
alert('失败');}}};

 

将ajaxj抽象成函数,供以后调用:

参数分别是请求数据地址,返回数据的函数,失败与否的提示

function ajax(url,fnSucc,fnFaild){
	var oAjax=null;
	if(window.XMLHttpRequest){
		oAjax=new XMLHttpRequest();
	}
	else{
		oAjax=new ActiveXObject("Microsoft.XMLHTTP");
	}
	oAjax.open('GET',url,true);
	oAjax.send();
	oAjax.onreadystatechange=function(){
		if(oAjax.readyState==4){
			if(oAjax.status==200){
				fnSucc(oAjax.responseText);
			}
			else{
				if(fnFaild){         
					fnFaild();    
				}
			}
		}
	};
}
测试:

oBtn.οnclick=function(){
	ajax('123.txt',function(str){
		alert(str);
	},function(){
		alert('失败');
	})
};



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值