@网络老鼠技术小屋

网络老鼠技术小屋-涂飞平的博客空间

最简便的ajax类

8 年前 0

其实题目有点言过其实了,应该是最简便XmlHttpRequest封装之一才对,很久没有更新了,做回标题党吧~~
前段时间一直都在忙于java/web开发,涉及到异步访问,由于只是简单的状态调用和信息查询,使用成熟的ajax框架就显得太大动干戈了,所以自己写了一个很小的对象,放在这里给有类似需要,又不愿意载入ajax库的朋友使用。
代码如下:

thinajax = function() {
var xmlobject;
function createXMLHttpRequest() {
var obj;
try {
obj = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
obj = new ActiveXObject("Microsoft.XMLHTTP");
} catch (E) {
try {
obj = new XMLHttpRequest();
} catch (Exception) {
raise;
}
}
}
return obj;
}
this.get = function (URL) {
var tmpobject = this;
xmlobject.onreadystatechange = function (){
if (xmlobject.readyState == 4)
if ((xmlobject.status >= 200)&&(xmlobject.status<300))
tmpobject.onSuccess(xmlobject.responseText);
else
tmpobject.onFail(xmlobject.status);
}
xmlobject.open("GET", URL, true);
xmlobject.send(null);
}
{xmlobject = createXMLHttpRequest();}
}

说明:类thinajax只有一个方法get(url),有两个事件onFail和onSuccess,使用的时候用这些就够了,因为我只需要GET数据,所以没有加入POST方法,如果需要POST方法,可以自己加入其中~~下面是调用部分的代码:
function startConfirm(){
var checker = new thinajax();
checker.onSuccess = function (response) {
if (response == "Found.")
alert("已经存在这个Email的用户,请选择其他Email注册");
else
alert("可以使用该Email注册");
};
checker.onFail = function () {
alert("获取信息失败!");
};
checker.get("<%= request.getContextPath()%>/simplelogin?action=emailcheck&email=" +document.getElementById("emailid").value + "&epersonid=3");
}

在按钮事件中调用该函数即可eg: <input type="button" name="confirm" onclick="startConfirm();" value="Confirm"/>

好了,简单的一篇文章,当是这么就没有更新之后冒个泡吧~~

编写评论