首页 > Web开发 > 详细

[Js]Ajax

时间:2014-03-14 18:49:47      阅读:451      评论:0      收藏:0      [点我收藏+]

一、什么是Ajax

不刷新的情况下读取数据或提交数据

(最早出现ajax:谷歌地图,拖动一下出现一片新的视野)

应用:用户注册、在线聊天、微博

特性:只能从服务器上去读取数据(所以我们需要配置自己的服务器程序AMP)

二、使用Ajax

1.基础:请求并显示静态TXT文件

btn.onclick=function(){

    ajax(‘abc.txt‘,function(str){     

        alert(str);

    });

}

①Ajax里面文件的编码要和页面的编码一致

②缓存、阻止缓存(好处大于缺点,所以不能什么时候都清缓存)

缓存能帮助我们加速网络访问,所谓缓存,就是服务器上这个文件,它只读一次,第二次就从你的硬盘里、缓存里直接去拿,而不是真的通过网络来请求

有时候我们需要阻止缓存(比如服务器上东西变化了,但客户端请求来的还是原来的东西),办法如下,加时间戳:

ajax(‘abc.txt?t=‘+new Date().getTime(),function(str){});    //new Date().getTime()为现在的毫秒数,用户绝对不可能在1毫秒内点两次,所以每次请求的t都不一样

2.动态数据:请求Js(或json)文件

Ajax从服务器上读取的所有东西都是以文本的形式(字符串)存在的,如何转换?

eval()计算字符串里的值

ajax(‘abc.txt‘,function(str){     

        var arr=eval(str);

        alert(arr);

});

 

例子:分页

<ul id="list">

   

</ul>

<a href="#"></a>

<a href="#"></a>

<a href="#"></a>

 

window.onload=function(){

    var oUl=getElementById("list");

    var aBtn=getElementsByTagName("a");

    var i;

    for(i=0;i<aBtn.length;i++){

        aBtn[i].index=i;

        aBtn[i].onclick=function(){

            ajax(‘page‘+(this.index+1)+‘.txt‘,function(str){

                var aData=eval(str);

                oUl.innerHTML=‘‘;

                for(i=0;i<aData.length:i++){

                    var oLi=document.createElement("li");

                    oLi.innerHTML=‘<strong>‘+aData[i].user+‘</strong><i>‘+aData[i].pass+‘</i>‘;

                    oUl.appendChild(oLi);

                }

            });

        };

    }

};

三、Ajax原理

HTTP请求方法

1.GET--用于获取数据(如浏览贴子) 把数据放在URL(网址)里面来提交     安全性低、容量低、便于分享(将网址发给别人)

2.POST--用于上传数据(如用户注册) 把数据放在不是URL的地方     安全性一般、容量几乎无限、不便于分享

[Js]Ajax,布布扣,bubuko.com

[Js]Ajax

原文:http://www.cnblogs.com/zhangwenkan/p/3598783.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!