js Ajax总结

一、什么是服务器

网页浏览过程分析
如何配置自己的服务器程序(AMP)

二、什么是Ajax

无刷新数据读取
用户注册、在线聊天室
异步、同步

三、使用Ajax

基础:请求并显示静态TXT文件
字符集编码
缓存、阻止缓存
动态数据:请求JS(或json)文件
eval的使用
DOM创建元素
局部刷新:请求并显示部分网页文件

四、Ajax原理

HTTP请求方法
GET——用于获取数据(如:浏览帖子)
POST——用于上传数据(如:用户注册)
GET、POST的区别
get是在url里传数据:安全性、容量
缓存

五、创建Ajax对象

1、ActiveXObject(“Microsoft.XMLHTTP”)
XMLHttpRequest()

2、连接服务器
open(方法, 文件名, 异步传输)
同步和异步

3、发送请求
send()

4、请求状态监控
onreadystatechange事件

5、readyState属性:请求状态
0 (未初始化)还没有调用open()方法
1 (载入)已调用send()方法,正在发送请求
2 (载入完成)send()方法完成,已收到全部响应内容
3 (解析)正在解析响应内容
4 (完成)响应内容解析完成,可以在客户端调用了

6、status属性:请求结果
7、responseText

六、Ajax封装

// 封装ajax
function ajax(mode, url, boolean, fnSucc, fnFaild){
       // 创建Ajax对象
      if(window.XMLHttpRequest){
         var oAjax = new XMLHttpRequest();
      } else {
         var oAjax = new ActiveXObject("Microsoft.XMLHTTP");
      }

    // 2、连接服务器
    oAjax.open(mode, url, boolean);

    // 3、发送请求
    oAjax.send();
   
    // 4、接受返回数据
    oAjax.onreadystatechange = function(){

        if(oAjax.readyState == 4){   // 浏览器和服务器交互的状态

            if(oAjax.status == 200){  // 请求成功状态

                fnSucc(oAjax.responseText);  // 请求成功数据

            } else {

                if(fnFaild){     // 请求失败的时候

                   fnFaild(oAjax.status)

                }
            }
        }
    }
}

*************************************************

// 使用ajax
<body>
    <button id="btn">点击请求</button>
     <ul id="ul">

     </ul>
     <script src="./new_ajax.js"></script>
    <script>
        var oBtn = document.getElementById("btn");
        var oUl = document.getElementById("ul");

        oBtn.onclick = function(){
          ajax("GET","data.txt",true,function(data){
              var data = eval(data)
              for(var i = 0;i<data.length;i++){
                  var oLi = document.createElement("li");
                  oLi.innerHTML = '<span>' +data[i].id +'</span><span>'+data[i].name+'</span>'
                  oUl.appendChild(oLi)
              }
          },function(err){
              console.log(err)
          })
        }
    </script>
</body>
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值