js学习之AJAX

AJAX:让js读取服务器的数据


使用Ajax
基础:请求并显示静态TXT文件
注意字符集编码的一致
缓存和阻止缓存的问题(这只是一种方法):‘xxx.txt?t=’Data().getTime()
AJAX读取的任何东西都是以字符串的形式存在

HTTP请求的方法:
get方式,将内容放到url里,跟随uri一起通过网址传递
容量小,因为网址限制,不适合传递大数据
安全性非常差
有缓存
适合用来回来获取数据(如浏览帖子)


post方式,通过http的content,不通过网址
容量大(2G)
安全性相对好一点,真正安全走(HTTPS)
没有缓存
用于上传数据(如用户注册)


AJAX:(类比打电话)
1、创建AJAX对象   手机    XMLHttpRequest()和ActiveXObject("Microsoft.XMLHTTP")(IE下用到)
2、连接到服务器   拨号    open
3、发送请求       说      send
4、接受返回值     听      oAjax.onreadystatechange  oAjax.readyState


oAjax.readyState==0/1/2/3/4   浏览器和服务器进行到哪一步了
0 未初始化,还没有调用open()方法
1 (载入)已经调用open()方法,正在发送请求
2 (载入完成)send()方法完成,已经收到全部响应
3 (解析)正在解析响应内容
4 (完成)响应内容解析完成,可以在客户端调用了

statue属性,请求结果,判断成功还是失败 一般成功200,失败not found404
responseText  返回文件内容

同步 事情一件一件来 false
异步 多个事情可以一起来(ajax天生就是用来进行异步操作的)true

AJAX数据类型
中文一定要用UTF-8
XML和json数据类型,同等数据XML要大很多,已经淘汰了几乎

一定要统一字符集一般UTF-8

用js实现AJAX的代码

//这里url未对应的文件名,fnSuccfnFaild为自己编写的的函数
function ajax(url, fnSucc, fnFaild)
{
   //1.创建Ajax对象
   if(window.XMLHttpRequest)
   {
      var oAjax=new XMLHttpRequest();
   }
   else
   {
      //兼容IE
      var oAjax=new ActiveXObject("Microsoft.XMLHTTP");
   }
   
   //2.连接服务器(打开和服务器的连接)
   oAjax.open('GET', url, true);
   
   
   //3.发送
   oAjax.send();
   
   //4.接收
   oAjax.onreadystatechange=function ()
   {
      if(oAjax.readyState==4)
      {
         if(oAjax.status==200)
         {
            //alert('成功了:'+oAjax.responseText);
            fnSucc(oAjax.responseText);
         }
         else
         {
            //alert('失败了');
            if(fnFaild)
            {
               fnFaild();
            }
         }
      }
   };
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值