本篇内容主要讲解“如何编写一个封装的Ajax类”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何编写一个封装的Ajax类”吧!
播州ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为创新互联的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:18980820575(备注:SSL证书合作)期待与您的合作!
用法:
new Ajax().Request(url,cmd,async,method,postString,title)
参数:
url: 请求页面URL(必填)
cmd: 返回值处理函数(必填)
async: 是否异步 ,(ture|false), 默认true
method: 请求方式,(post|get), 默认get
postString: 请求方式为post时,请求内容
title: 请求内容标题
代码如下:
// Ajax 封装 2007-3-13
function createXMLHttpRequest() {
try {
if (window.XMLHTTPRequest) {
return new XMLHttpRequest();
}
else if (window.ActiveXObject) {
return new ActiveXObject("Microsoft.XMLHTTP");
}
}
catch (e) {alert("XMLHttpRequest对象无法创建!请检查IE安全设置!");}
}
function messageDiv(t)
{
var v = document.createElement("
");
v.innerHTML = "
" +
"" +
"" + " " + t + ",连接未初始化... |
";
var l = document.getElementsByName("message").length;
v.style.cssText = "position:absolute;bottom:" + (l*24) + "px;left:0px;display:none";
document.body.appendChild(v);
this.clear = function () {
document.body.removeChild(v);
var msg = document.getElementsByName("message");
for (var i=0;i
msg[i].parentNode.style.cssText = "position:absolute;bottom:" + (i*24) + "px;left:0px";
}
}
this.showmsg = function (s) {
v.style.display = "";
v.all.Span1.innerHTML = s;
}
}
function Ajax() {
var x = new createXMLHttpRequest();
this.Request = function (url,cmd,async,method,postString,title) {
if (method!="post") method = "post"; else method = "get";
if (async!=true) async = true; else async = false;
if (typeof(postString)!="string") postString="";
if (typeof(title)!="string") title="正在获取数据"; else title="正在获取" + title;
var msgbox = new messageDiv(title);
x.onreadystatechange = function ()
{
if (async) switch (x.readystate) {
case 1:
msgbox.showmsg("正在初始化连接...");
return;
case 2:
msgbox.showmsg("正在发送数据...");
return;
case 3:
msgbox.showmsg("正在接收数据...");
return;
case 4:
msgbox.showmsg("数据接收完成...");
if (x.status == 200) {
cmd(x.responseText);
msgbox.clear();
}
else {
msgbox.showmsg("请求失败," + x.statustext + "(" + x.status + ")");
setTimeout(msgbox.clear,3000);
}
return;
}
}
x.open (method,url,async);
if (method=="post") {msgbox.showmsg("正在接收数据...");x.send(postString);} else x.send();
if (!async) {
msgbox.showmsg("数据接收完成...");
cmd(x.responseText);
msgbox.clear();
}
}
}
到此,相信大家对“如何编写一个封装的Ajax类”有了更深的了解,不妨来实际操作一番吧!这里是创新互联网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
分享题目:如何编写一个封装的Ajax类
当前路径:
http://www.cdkjz.cn/article/gipooh.html