【AJAX】T.T.R--Ajax类,让ajax更容易
时间:2007-11-01
来源:互联网
这里还附带了一些常用函数,不喜欢的可以删掉拉。
代码:
////////////////////////////////////////////Programer:T.T.R //
//Date:2007-03-03 //
//QQ:252319874 //
//HP:http://www.Gx3.cn,http://Gx3.cn //
//////////////////////////////////////////
//JS VisualClass Main
function ClassAjax()
{
this.Created=false;
this.ajax=null;
this.CreateAjax=cAjax;
this.FormItem=GetFormItem;
this.Send=SendData;
this.InitUrl=InitUrl;
this.GetText=GetText;
this.trim=trim;
this.ctldiv=ctldiv;
this.setidval=setidval;
this.getidval=getidval;
this.isemail=isemail;
}
//InitAjaxObject
function InitAjax()
{
var ajax=false;
try
{
ajax=new ActiveXObjdect("Msxml2.XMLHTTP");
}
catch (e)
{
try
{
ajax=new ActiveXObject("Microsoft.XMLHTTP");
}
catch (E)
{
return false;
}
}
if(!ajax && typeof XMLHttpRequest!="undefined")
{
ajax=new XMLHttpRequest();
}
return ajax;
}
//CreateAjax
function cAjax()
{
this.ajax=InitAjax();
this.Created=true;
}
//Get Form Item
function GetFormItem(objForm)
{
if(!this.Created)
{
alert("Don't Create Ajax Object!")
return;
}
if(!objForm)
{
alert("Don't Set objForm!")
return;
}
var f=eval("document."+objForm+".elements");
var objForm="document."+objForm;
var str="";
var strCheckbox="";
var strSelect="";
for(i=0;i<f.length;i++)
{
if(f[i].type=="radio")
{
var obj=eval(objForm+"."+f[i].name);
for(j=0;j<obj.length;j++)
{
if(obj[j].checked)
{
str+=f[i].name+"="+obj[j].value+"&";
}
}
i=i+(obj.length-1);
}else if(f[i].type=="checkbox"){
var obj=eval(objForm+"."+f[i].name)
for(j=0;j<obj.length;j++)
{
if(obj[j].checked)
{
strCheckbox+=obj[j].value+",";
}
}
strCheckbox=strCheckbox.substr(0,strCheckbox.length-1);
str+=f[i].name+"="+strCheckbox+"&";
i=i+(obj.length-1);
}else if(f[i].type=="select-multiple"){
var obj=eval(objForm+"."+f[i].name+".options");
for(j=0;j<obj.length;j++)
{
if(obj[j].selected)
{
strSelect+=obj[j].value+",";
}
}
strSelect=strSelect.substr(0,strSelect.length-1);
str+=f[i].name+"="+strSelect+"&";
}else{
str+=f[i].name+"="+f[i].value+"&";
}
}
str=str.substr(0,str.length-1)
return str;
}
//Send Data and Request Text
function SendData(method,sendstr,action,callbackfunc,errfunc)
{
if(!this.Created)
{
alert("Don't Create Ajax Object!")
return;
}
if(!method || !action || typeof callbackfunc!="function" || typeof errfunc!="function")
{
alert("Function SendData() 参数错误!")
return;
}
var ajax=this.ajax;
var method=method.toUpperCase();
if(method=="POST")
{
//post方法代码
//var action=this.InitUrl(action,sendstr);
ajax.open(method,action,true);
ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
ajax.send(sendstr);
ajax.onreadystatechange=function(){
if(ajax.readyState==4 && ajax.Status==200)
{
if(ajax.Status==200)
{
callbackfunc();
}else{
errfunc();
}
}
}
}
if(method=="GET")
{
//get方法代码
var action=this.InitUrl(action,sendstr);
ajax.open(method,action,true)
ajax.onreadystatechange=function(){
if(ajax.readyState==4 && ajax.Status==200)
{
callbackfunc();
}else{
errfunc();
}
}
ajax.send(null)
}
}
//Void ResponseText Function
function GetText()
{
if(!this.Created)
{
alert("Don't Create Ajax Object!")
return;
}
var ajax=this.ajax
var strText=ajax.responseText;
return strText;
}
//InitUrl
function InitUrl(url,sendstr)
{
if(!this.Created)
{
alert("Don't Create Ajax Object!")
return;
}
if(!url || !sendstr)
{
alert("Function InitUrl() 参数错误!")
return;
}
var url=url.split("?")
if(url[1]=="" || typeof url[1]=="undefined")
{
url=url[0]+"?"+sendstr;
}else{
url=url[0]+url[1]+"&"+sendstr;
}
return url;
}
function trim(str){
return str.replace(/(^\s*)|(\s*$)/g, "");
}
function ctldiv(id,mod){
if( mod == "show"){
document.getElementById(id).style.display="";
}else if(mod == "hide"){
document.getElementById(id).style.display="none";
}else{
alert("Function InitUrl() 参数错误!")
return;
}
}
function setidval(id,value) {
document.getElementById(id).innerHTML = value;
}
function getidval(id) {
return document.getElementById(id).innerHTML;
}
function isemail(str){
var result=str.match(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/);
if(result==null) return false;
return true;
}
代码:
<script language="javascript">var oAjax=new ClassAjax();
oAjax.CreateAjax();
str=oAjax.FormItem(formName);
oAjax.Send("post",str,"PostBet.php",CallBack2,CallBack_E2);
function CallBack2()
{
//alert("成功!");
alert(oAjax.GetText());
location="User.php";
}
function CallBack_E2()
{
alert("失败!");
location="User.php";
}
作者: T.T.R 发布时间: 2007-11-01
作者: bg6aer 发布时间: 2007-11-01
作者: niohe 发布时间: 2007-11-01
window.open("post","url",true)
如果url为相对路径时为什么会出错
提示找不到文件
用绝对路径却正常
难倒只能用绝对路径吗
作者: yang_ysb 发布时间: 2007-11-06

作者: 17too 发布时间: 2007-11-07
作者: T.T.R 发布时间: 2007-11-07
作者: T.T.R 发布时间: 2008-03-27
作者: pszehua 发布时间: 2008-03-27

作者: luzhou 发布时间: 2008-03-27

作者: 逆雪寒 发布时间: 2008-03-28
作者: T.T.R 发布时间: 2008-03-28
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28