JS实现Ajax的方法分析
本文实例分析了js实现ajax的方法。分享给大家供大家参考,具体如下:
一、什么是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的地方 安全性一般、容量几乎无限、不便于分享
四、封装一个自己的ajax函数
1.创建ajax
2.连接服务器
3.发送请求
4.接收返回
function ajax(url,fnsucc,fnfaild){ //1.创建 var oajax=null; if(window.xmlhttprequest){ //对ie6来说,直接用xmlhttprequest是不存在的会出错 oajax=new xmlhttprequest(); //ie6以上 }else{ oajax=new activexobject("microsoft.xmlhttp"); //ie6 } //2.连接服务器,open(方法,url,是否异步) oajax.open('get',url,true); //3.发送请求 oajax.send(); //4.接收返回 onreadystatechange oajax.onreadystatechange=function(){ //onreadystatechange事件 if(oajax.readystate==4){ //readystate属性:请求状态 4是完成(完成不代表成功) if(oajax.status==200){ //status属性:请求结果 200代表成功 fnsucc(oajax.responsetext); //responsetext属性:服务器发回给我们的内容 } else{ if(fnfaild){ fnfaild(); } } } }; };
更多关于javascript相关内容感兴趣的读者可查看本站专题:《javascript中ajax操作技巧总结》、《javascript切换特效与技巧总结》、《javascript查找算法技巧总结》、《javascript动画特效与技巧汇总》、《javascript错误与调试技巧总结》、《javascript数据结构与算法技巧总结》、《javascript遍历算法与技巧总结》及《javascript数学运算用法总结》
希望本文所述对大家javascript程序设计有所帮助。
上一篇: 亚马逊Kindle全球读书调研:读书有助于增进夫妻情感
下一篇: JS实现拖拽的方法分析