作者:哗锅_348 | 来源:互联网 | 2014-05-20 00:21
jqueryklajaxjs。kl为命名空间。使用必须有jqueryjs**该插件用于异步调取数据*readyState*0:请求未初始化*1:请求已经建立,但是还没有发送*2:请求已发送,正在处理中*3:请求在处理中
jquery.kl.ajax.js
。kl 为命名空间
。使用必须有jquery.js
/*
*该插件用于异步调取数据
*readyState
*0:请求未初始化
*1:请求已经建立,但是还没有发送
*2:请求已发送,正在处理中
*3:请求在处理中
*4:响应已完成
*status
*401:未经授权
*403:禁止访问
*404:没找到访问页
*200:正常
*email pigkeli@qq.com
*/
jQuery.kl = {
ajax: function (options) {
var defaults = {
//发送方式 (可选 post、get)
method: "post",
//网址
url: "#",
//是否异步 (可选true、false)
async: true,
//用户名
user: null,
//密码
password: null,
//回调方法
callBack: function (data) {
//data 返回的数据
}
};
var o = jQuery.extend(defaults, options);
//method
if (o.method != "post" && o.method != "get") {
__log("'method' 参数无效. \r\n 应该为 'post' 或者 'get' .");
return;
}
//url
if (jQuery.trim(o.url) == "" || o.url == "#") {
__log("'url' 参数无效 .");
return;
}
//async
if (jQuery.trim(o.async) == "" || (o.async != true && o.async != false)) {
__log("'async' 参数无效. \r\n 应该为 true 或者 false .");
return;
}
//callBack
if (typeof (o.callBack) != "function") {
__log("'callBack' 参数无效. \r\n 应该为 'function' 支持传一个参数,该参数为返回的数据 .");
return;
}
var xhr = null;
//创建ajax
try {
xhr = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
xhr = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {
try {
xhr = new XMLHttpRequest();
} catch (e) {
return;
}
}
}
//状态改变回调函数
xhr.Onreadystatechange= function () {
//响应已完成
if (xhr.readyState == 4) {
//成功
if (xhr.status == 200) {
//回调
o.callBack(xhr.responseText);
}
else {
//判断错误
switch (xhr.status) {
case 401:
__log("调用出错了. \r\n 错误原因:未经授权 .");
break;
case 403:
__log("调用出错了. \r\n 错误原因:禁止访问 .");
break;
case 404:
__log("调用出错了. \r\n 错误原因:没找到访问页 .");
break;
default:
__log("调用出错了. \r\n 错误原因:未知错误 .");
break;
}
}
}
};
//open
xhr.open(o.method, o.url, o.async, o.user, o.password);
//send
xhr.send(null);
}
};
/*
*向控制台输出错误
*/
function __log(text) {
if (window.console && window.console.log) {
window.console.log(text);
}
};
页面调用