利用Ajax进行交互JS类
来源:互联网 发布:mac touch bar好用吗 编辑:程序博客网 时间:2024/05/16 00:38
最近做的一个项目中有需要使用Ajax的部分,正好不是很忙,所以自己写了一个简单的Ajax类,拿出来share一下:
function BmAjaxObject()
{
this.ajaxObj = this.getXmlHttpObject();
}
BmAjaxObject.prototype.getXmlHttpObject = function()
{
var _ajaxObj;
try
{
_ajaxObj = new ActiveXObject("Msxml2.XMLHTTP");
}
catch(e1)
{
try
{
_ajaxObj = new ActiveXObject("Microsoft.XMLHTTP");
}
catch(e2)
{
_ajaxObj = false;
}
}
if(!_ajaxObj && typeof(XMLHttpRequest) != 'undefined')
{
_ajaxObj = new XMLHttpRequest();
}
return _ajaxObj;
}
BmAjaxObject.prototype.doCallBack = function(url)
{
if(this.ajaxObj)
{
this.ajaxObj.open('GET', url);
var othis = this;
this.ajaxObj.onreadystatechange = function() {othis.readyStateChange()};
this.ajaxObj.send(null);
}
}
BmAjaxObject.prototype.abortCallBack = function()
{
if(this.ajaxObj)
{
this.ajaxObj.abort();
}
}
BmAjaxObject.prototype.readyStateChange = function()
{
if(this.ajaxObj.readyState == 1)
{
this.onLoading();
}
else if(this.ajaxObj.readyState == 2)
{
this.onLoaded();
}
else if(this.ajaxObj.readyState == 3)
{
this.onInteractive();
}
else if(this.ajaxObj.readyState == 4)
{
if(this.ajaxObj.status == 0)
{
this.onAbort();
}
else if(this.ajaxObj.status == 200)
{
this.onComplete(this.ajaxObj.responseText, this.ajaxObj.responseXML);
}
else
{
this.onError(this.ajaxObj.status, this.ajaxObj.statusText, this.ajaxObj.responseText);
}
}
}
BmAjaxObject.prototype.onLoading = function() {}
BmAjaxObject.prototype.onLoaded = function() {}
BmAjaxObject.prototype.onInteractive = function() {}
BmAjaxObject.prototype.onComplete = function(responseText, responseXml) {}
BmAjaxObject.prototype.onError = function(status, statusText, responseText) {}
BmAjaxObject.prototype.onAbort = function() {}
使用方法:
var a = new BmAjaxObject();
a.doCallBack('DesignFacade');
a.onComplete = function(responseText, responseXml)
{
alert(responseText);
}
同样,其他的方法可以使用相同的方式加上,项目中试用后,效果还可以。(里边用到了JS的类的概念)
- 利用Ajax进行交互JS类
- 利用Ajax&Json进行简单的网页前后端交互
- [Js笔记]Ajax通过GET方式与PHP进行交互
- JS ajax 后台交互
- Flask学习总结笔记(12) -- 利用ajax进行前后端数据交互
- 利用js与java交互
- Android和js进行交互
- Android 如何进行js交互
- js与webview进行交互
- 利用AJAX进行whois查询
- AJAX进行前后台信息交互
- 用AJAX与后台进行交互
- ajax与action进行数据交互
- jQuery+Ajax+asp进行数据库交互01
- servlet,jsp使用ajax进行数据交互
- 利用ajax.dll进行Ajax的开发
- 利用ajax.dll进行Ajax的开发
- 利用ajax.dll进行Ajax的开发
- 什么是RTU
- 获取系统时间
- 首放盘后解析:下周宽幅震荡
- 关于如何调试控件的解决办法。
- 加密web.config中的邮件配置
- 利用Ajax进行交互JS类
- 真的很郁悶
- sqlserver2005 查询某个表的所有字段
- 现阶段的SliverLight(WPF/E)现在到底是什么
- 有待学习
- 如何windows2000启动项配置MSCONFIG
- 长时间从事电脑操作者,知道怎样保护你的眼睛吗?
- Quartz xml实现方式下修改配置文件的路径
- DB2 命令行处理器(CLP)中的常用命令