ajax具有无刷新的评论技术
发布的评论,可以无刷新的显示到要显示的区域 可以很好的节省时间等
通过ajax把内容存到服务器上
获取服务器的数据,显示到评论区域
ajax技术
ajax的基础组成
xhtml css javascript xml XMLHttpRequest
ajax使用的基本步骤
先 初始化ajax引擎
再 封装url(设定要请求的路径)
然后 打开ajax引擎(同步方式 异步方式 ,本次传输使用get还是post)
将要请求的信息通过引擎发送到服务器进行处理 readyState =2
监听服务器返回给ajax引擎的处理状态 readyState =3 、4
判断是否交互完毕,如果交互完毕则取回返回数
在使用ajax过程中需要注意发送的内容中文乱码的问题
原因:
浏览器默认情况下,不会对我们的url进行编码,这样导致传递到服务器端有乱码
解决办法:
所以 对要发送的URL进行编码
可以使用encodeURI(是uri) (注意:不是 encodeURL 进行编码)
可以使用decodeURI()进行解码
ajax封装
因为ajax需要6步在使用的时候,每次都写太麻烦 使代码的使用率很低
页面也会很乱
所以就要吧ajax进行封装
下面就为封装
ajaxUtil.js
function get(url1,params,methodName){
/*
ajax使用的基本步骤:
//初始化ajax引擎
var xhr = new XMLHttpRequest();//这种方式只针对ie浏览器,并且ie6以下还有问题。
var url=url1+"?"+params+"&r="+Math.random();
//alert(url);
//打开引擎
xhr.open("get",url,true); //readyState=1
//发送请求
xhr.send(null); //readyState=2
//监听readyState值的改变,每次改变都会执行下面额函数
xhr.onreadystatechange=function (){
//如果等于4,表明交互完毕 ,我们可以取出服务器返回的内容
if(xhr.readyState==4){
//动态调用方法,为什么说是动态呢?方法的名称是个变量methodName
methodName(xhr);
}
}
}
//$$()方法用于方便取出 id="id" 的对象
function $$(id){
return document.getElementById(id);
}