/*
Ajax 类
sUrl : 目标 URL
sQueryString : 提交变量
callbackFunc : 回调函数
callbackParams : 回调函数参数
sRecvType : 返回值格式 ( 0: 文本, 1: XML );
*/
function Ajax ( sUrl, sQueryString, callbackFunc, callbackParams, sRecvType )
{
this.Url = sUrl;
this.QueryString = sQueryString != null ? sQueryString : '';
this.response; // 返回值
this.XmlHttp = this.createXMLHttpRequest ();
if ( this.XmlHttp == null )
{
alert ( "网络连接出错, 请重试!" );
return;
}
var objxml = this.XmlHttp;
objxml.onreadystatechange = function ()
{
Ajax.handleStateChange ( objxml, sRecvType, callbackFunc, callbackParams )
}
}
Ajax.prototype.createXMLHttpRequest = function ()
{
try
{
return new ActiveXObject ( "Msxml2.XMLHTTP" );
}catch(e) {}
try
{
return new ActiveXObject ( "Microsoft.XMLHTTP" );
} catch(e) {}
try
{
return new XMLHttpRequest ();
} catch(e) {}
return null;
}
Ajax.prototype.createQueryString = function ()
{
var queryString = '';
if ( this.QueryString != null && typeof ( this.QueryString ) != 'string' )
{
var elements = this.QueryString.elements;
var pairs = new Array();
for(var i=0;i<elements.length;i++){
if((name=elements[i].name)&&(value = elements[i].value)){
pairs.push(name + "=" + encodeURIComponent(value));
}
}
queryString = pairs.join ("&");
}
else
{
queryString = this.QueryString;
}
return queryString;
}
Ajax.prototype.get = function ()
{
sUrl = this.Url;
var queryString = sUrl + ( sUrl.indexOf ('?') > 0 ? '&' : '?' ) + this.createQueryString();
this.XmlHttp.open ( "GET", queryString, true );
this.XmlHttp.send ( null );
}
Ajax.prototype.post = function ()
{
var sUrl = this.Url;
var queryString = this.createQueryString ();
this.XmlHttp.open ( "POST", sUrl, true );
this.XmlHttp.setRequestHeader ( "Content-Type","application/x-www-form-urlencoded" );
this.XmlHttp.send ( queryString );
}
Ajax.handleStateChange = function ( XmlHttp, sRecvType, callbackFunc, callbackParams )
{
if ( XmlHttp.readyState == 4 )
{
if ( XmlHttp.status == 200 )
{
Response = sRecvType ? XmlHttp.responseXML : XmlHttp.responseText;
if ( callbackFunc != null )
{
callbackFunc ( Response, callbackParams );
}
}
else
{
// alert ( "您还没有登陆或者登陆已经超时, 请登陆后重试!" );
}
}
}
Ajax 类
sUrl : 目标 URL
sQueryString : 提交变量
callbackFunc : 回调函数
callbackParams : 回调函数参数
sRecvType : 返回值格式 ( 0: 文本, 1: XML );
*/
function Ajax ( sUrl, sQueryString, callbackFunc, callbackParams, sRecvType )
{
this.Url = sUrl;
this.QueryString = sQueryString != null ? sQueryString : '';
this.response; // 返回值
this.XmlHttp = this.createXMLHttpRequest ();
if ( this.XmlHttp == null )
{
alert ( "网络连接出错, 请重试!" );
return;
}
var objxml = this.XmlHttp;
objxml.onreadystatechange = function ()
{
Ajax.handleStateChange ( objxml, sRecvType, callbackFunc, callbackParams )
}
}
Ajax.prototype.createXMLHttpRequest = function ()
{
try
{
return new ActiveXObject ( "Msxml2.XMLHTTP" );
}catch(e) {}
try
{
return new ActiveXObject ( "Microsoft.XMLHTTP" );
} catch(e) {}
try
{
return new XMLHttpRequest ();
} catch(e) {}
return null;
}
Ajax.prototype.createQueryString = function ()
{
var queryString = '';
if ( this.QueryString != null && typeof ( this.QueryString ) != 'string' )
{
var elements = this.QueryString.elements;
var pairs = new Array();
for(var i=0;i<elements.length;i++){
if((name=elements[i].name)&&(value = elements[i].value)){
pairs.push(name + "=" + encodeURIComponent(value));
}
}
queryString = pairs.join ("&");
}
else
{
queryString = this.QueryString;
}
return queryString;
}
Ajax.prototype.get = function ()
{
sUrl = this.Url;
var queryString = sUrl + ( sUrl.indexOf ('?') > 0 ? '&' : '?' ) + this.createQueryString();
this.XmlHttp.open ( "GET", queryString, true );
this.XmlHttp.send ( null );
}
Ajax.prototype.post = function ()
{
var sUrl = this.Url;
var queryString = this.createQueryString ();
this.XmlHttp.open ( "POST", sUrl, true );
this.XmlHttp.setRequestHeader ( "Content-Type","application/x-www-form-urlencoded" );
this.XmlHttp.send ( queryString );
}
Ajax.handleStateChange = function ( XmlHttp, sRecvType, callbackFunc, callbackParams )
{
if ( XmlHttp.readyState == 4 )
{
if ( XmlHttp.status == 200 )
{
Response = sRecvType ? XmlHttp.responseXML : XmlHttp.responseText;
if ( callbackFunc != null )
{
callbackFunc ( Response, callbackParams );
}
}
else
{
// alert ( "您还没有登陆或者登陆已经超时, 请登陆后重试!" );
}
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)