闲来无事就开始琢磨怎么提高网站效率。。。。。然后就对jquery的框架很感兴趣。。
本来很可惜jq没有一个定制的功能,把需要的功能提出来之后不是可以减少很多体积么。
没办法,自己写吧。首先就是自己写一个ajax的调用类。。
之下是初始版本的代码,注释已写好:
var ajax = null;
/*
reqType:HTTP请求类型,
URL:请求地址,
isAsynch:是否异步发送请求,
Data:发送的数据,
fn:回调函数
*/
ajax = function (reqType, URL, isAsynch, Data, fn) {
//初始化request对象
var request = null;
//给定一个默认值
reqType = reqType || "GET";
isAsynch = isAsynch || true;
//判断request的状态,设置回调的方法
function handleResponse() {
//完成的时候
if (request.readyState == 4) {
//Ok的时候,其中通过服务器返回为200,其他返回为0
if (request.status == 200 || request.status==0) {
//调用回调的方法
fn(request.responseText);
}
}
}
//判断是否非IE
if (window.XMLHttpRequest) {
//用XMLHttpRequest方法初始化
request = new XMLHttpRequest();
}
//判断IE
else if (window.ActiveXObject) {
//默认先用常用版本初始化
request = new ActiveXObject("Microsoft.XMLHTTP");
if (!request) {
//尝试一次非标准版本
request = new ActiveXObject("Msxml2.XMLHTTP");
}
}
//如果成功,开始执行
if (request) {
//添加状态更改时的方法
request.onreadystatechange = handleResponse;
//打开链接
request.open(reqType, URL, isAsynch);
//设置头信息
request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;charset=UTF-8");
//发送数据
request.send(Data);
}
else {
//如果浏览器不支持就提示。
alert("你的浏览器不支持Ajax,请升级或者更换浏览器!");
}
}