简化AJAX操作的javascript类(来自锐锋,使用请注明出处)
2007-06-19 16:39
323 查看
// JScript 文件
//来自锐锋,使用请注明出处
//创建ajax请求的函数,本函数可跨平台使用
function createAjaxObj()
{
var httprequest=false;
if(window.XMLHttpRequest)
{
httprequest = new XMLHttpRequest();
if(httprequest.overrideMimeType)
{
httprequest.overrideMimeType("text/xml");
}
}
else if(window.ActiveXObject)
{
try
{
httprequest = new ActiveXObject(Msxml2.XMLHTTP);
}
catch (e)
{
try
{
httprequest=new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e){}
}
}
return httprequest;
}
//类核心部分
//url:要请求的地址
//isNewp:true可禁止服务器缓冲机制,做聊天程序时必须使用true
/*
使用实例
var myajax = new AjaxRequest("dealBusiness.jsp",true)
myajax.addPara("newPara","value");
myajax.requestType = "get";//可有可无
myajax.dealrequest= function()//处理事件
{
if(myajax.ART.readyState==4)
{
alert(myajax.ART.responseText);
}
}
myajax.startRequest();
*/
function AjaxRequest(url,isNewp)
{
var paraList = "";
var requestS = false;
//public
this.requestType = "GET";
this.submitURL = url;
this.isNew = isNewp;
this.returnText = "";
this.ART = createAjaxObj();
this.addPara = function(paraName,paraValue)
{
if(paraList=="")
{
paraList = paraName +"="+paraValue;
}
else
{
paraList += "&"+paraName +"="+paraValue;
}
}
this.startRequest = function()
{
if(this.ART.readyState==4||this.ART.readyState==0)
{
this.ART = createAjaxObj();
if(this.requestType=="GET"||this.requestType=="Get"||this.requestType=="get")
{
if(this.isNew)
{
this.ART.open("GET",this.submitURL+"?"+paraList+"&newTime="+new Date().getTime(),true);
}
else
{
this.ART.open("GET",this.submitURL+"?"+paraList,true);
}
}
else
{
if(this.isNew)
{//+"?"+paraList+"&newTime="+new Date().getTime()
this.ART.open("POST",this.submitURL,true);
}
else
{//+"?"+paraList
this.ART.open("POST",this.submitURL,true);
}
this.ART.setRequestHeader("Content-type","application/x-www-form-urlencoded");
}
//alert(this.submitURL+"?"+paraList+"&newTime="+new Date().getTime());
this.ART.onreadystatechange = this.dealrequest;
if(this.requestType=="GET"||this.requestType=="Get"||this.requestType=="get")
{
this.ART.send(null);
}
else
{
if(this.isNew)
{
this.ART.send(paraList+"&newTime="+new Date().getTime());
}
else
{
this.ART.send(paraList);
}
}
}
}
this.dealrequest=function(){}
}
//来自锐锋,使用请注明出处
//创建ajax请求的函数,本函数可跨平台使用
function createAjaxObj()
{
var httprequest=false;
if(window.XMLHttpRequest)
{
httprequest = new XMLHttpRequest();
if(httprequest.overrideMimeType)
{
httprequest.overrideMimeType("text/xml");
}
}
else if(window.ActiveXObject)
{
try
{
httprequest = new ActiveXObject(Msxml2.XMLHTTP);
}
catch (e)
{
try
{
httprequest=new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e){}
}
}
return httprequest;
}
//类核心部分
//url:要请求的地址
//isNewp:true可禁止服务器缓冲机制,做聊天程序时必须使用true
/*
使用实例
var myajax = new AjaxRequest("dealBusiness.jsp",true)
myajax.addPara("newPara","value");
myajax.requestType = "get";//可有可无
myajax.dealrequest= function()//处理事件
{
if(myajax.ART.readyState==4)
{
alert(myajax.ART.responseText);
}
}
myajax.startRequest();
*/
function AjaxRequest(url,isNewp)
{
var paraList = "";
var requestS = false;
//public
this.requestType = "GET";
this.submitURL = url;
this.isNew = isNewp;
this.returnText = "";
this.ART = createAjaxObj();
this.addPara = function(paraName,paraValue)
{
if(paraList=="")
{
paraList = paraName +"="+paraValue;
}
else
{
paraList += "&"+paraName +"="+paraValue;
}
}
this.startRequest = function()
{
if(this.ART.readyState==4||this.ART.readyState==0)
{
this.ART = createAjaxObj();
if(this.requestType=="GET"||this.requestType=="Get"||this.requestType=="get")
{
if(this.isNew)
{
this.ART.open("GET",this.submitURL+"?"+paraList+"&newTime="+new Date().getTime(),true);
}
else
{
this.ART.open("GET",this.submitURL+"?"+paraList,true);
}
}
else
{
if(this.isNew)
{//+"?"+paraList+"&newTime="+new Date().getTime()
this.ART.open("POST",this.submitURL,true);
}
else
{//+"?"+paraList
this.ART.open("POST",this.submitURL,true);
}
this.ART.setRequestHeader("Content-type","application/x-www-form-urlencoded");
}
//alert(this.submitURL+"?"+paraList+"&newTime="+new Date().getTime());
this.ART.onreadystatechange = this.dealrequest;
if(this.requestType=="GET"||this.requestType=="Get"||this.requestType=="get")
{
this.ART.send(null);
}
else
{
if(this.isNew)
{
this.ART.send(paraList+"&newTime="+new Date().getTime());
}
else
{
this.ART.send(paraList);
}
}
}
}
this.dealrequest=function(){}
}
相关文章推荐
- 使用jQuery简化ajax操作
- 使用ajax操作JavaScript 对象详解
- 使用ajax操作 JavaScript 对象
- 使用ajax操作JavaScript 对象详解
- 使用ajax操作 JavaScript 对象
- 掌握 Ajax (2)使用 JavaScript 和 Ajax 发出异步请求
- 使用Javascript操作DOM的一些方法--元素的访问/复制等
- 记录<a>标签使用中click事件中ajax提交数据后,整体页面也做了刷新操作的坑
- Ajax中使用Response.Write输出javascript脚本出错的解决办法
- 使用 jQuery 简化 Ajax 开发
- 走入javascript(四)操作标签属性操作css样式[]的使用
- MUI:mui项目中如何使用原生JavaScript代替jquery来操作dom
- 使用 JavaScript 和 Ajax 发出异步请求
- 使用Rman的Plusarchvielog选项简化备份操作
- 对Jquery中的ajax再封装,简化操作
- 【Ajax-Jquery】使用JQuery 简化Ajax 开发
- 使用JavaScript操作表单
- 4种使用javascript正则表达式进行字符串replace操作的方法
- 简化 Ajax 和 Java 开发,第 1 部分: 用 JSP 标记文件动态生成 JavaScript 代码
- JavaScript使用享元模式实现文件上传优化操作示例