简易AJAX框架
来源:互联网 发布:ubuntu下安装emacs 编辑:程序博客网 时间:2024/05/17 09:21
var Ajax = function(){};
//取得组件
Ajax.prototype.GetHttpRequest = function()
{
if (window.XMLHttpRequest)
{
return new XMLHttpRequest() ;
}
else if (window.ActiveXObject)
{
return new ActiveXObject("Microsoft.XMLHTTP") ;
}
}
//提交数据
Ajax.prototype.PostURL = function(URL, PostData , FunctionName)
{
var TempAjax = this;
var IsFunction = (typeof(FunctionName) == 'function');
var TempXmlHttp = this.GetHttpRequest();
TempXmlHttp.open("POST", URL, IsFunction) ;
if (IsFunction)
{
TempXmlHttp.onreadystatechange = function()
{
if ( TempXmlHttp.readyState == 4)
{
var Result = TempXmlHttp.responseText;
TempAjax.DOMDocument = TempXmlHttp.responseXML ;
FunctionName(Result) ;
}
}
}
if (this.debug == 1)
{
alert("Error");
}
TempXmlHttp.setRequestHeader("CONTENT-TYPE","application/x-www-form-urlencoded");
TempXmlHttp.send(PostData) ;
if (!IsFunction)
{
this.DOMDocument = TempXmlHttp.responseXML ;
}
}
//请求数据
Ajax.prototype.RequestURL = function(URL,FunctionName)
{
var TempAjax = this;
var IsFunction = (typeof(FunctionName) == 'function');
var TempXmlHttp = this.GetHttpRequest();
TempXmlHttp.open("GET",URL,IsFunction);
if (IsFunction)
{
TempXmlHttp.onreadystatechange = function()
{
if ( TempXmlHttp.readyState == 4 )
{
var Result = TempXmlHttp.responseText;
TempAjax.DOMDocument = TempXmlHttp.responseXML;
FunctionName(Result);
}
}
}
TempXmlHttp.send(null);
if (!IsFunction)
{
this.DOMDocument = TempXmlHttp.responseXML;
}
}
//读取XML节
Ajax.prototype.SelectNodes = function(Xpath)
{
if (document.all)
{
return this.DOMDocument.selectNodes(Xpath) ;
}
else
{
var NodeArray = new Array();
var PathResult = this.DOMDocument.evaluate(Xpath,this.DOMDocument,this.DOMDocument.createNSResolver(this.DOMDocument.documentElement),XPathResult.ORDERED_NODE_ITERATOR_TYPE, null);
if (PathResult)
{
var TempNode = PathResult.iterateNext() ;
while(TempNode)
{
NodeArray[NodeArray.length] = TempNode ;
TempNode = PathResult.iterateNext();
}
}
return NodeArray;
}
}
//读取单个XML字内容
Ajax.prototype.SelectSingleNode = function(Xpath)
{
if (document.all)
{
return this.DOMDocument.selectSingleNode(Xpath);
}
else
{
var PathResult = this.DOMDocument.evaluate(Xpath,this.DOMDocument,this.DOMDocument.createNSResolver(this.DOMDocument.documentElement),9,null);
if (PathResult && PathResult.singleNodeValue )
{
return PathResult.singleNodeValue;
}
else
{
return null ;
}
}
}
//取得组件
Ajax.prototype.GetHttpRequest = function()
{
if (window.XMLHttpRequest)
{
return new XMLHttpRequest() ;
}
else if (window.ActiveXObject)
{
return new ActiveXObject("Microsoft.XMLHTTP") ;
}
}
//提交数据
Ajax.prototype.PostURL = function(URL, PostData , FunctionName)
{
var TempAjax = this;
var IsFunction = (typeof(FunctionName) == 'function');
var TempXmlHttp = this.GetHttpRequest();
TempXmlHttp.open("POST", URL, IsFunction) ;
if (IsFunction)
{
TempXmlHttp.onreadystatechange = function()
{
if ( TempXmlHttp.readyState == 4)
{
var Result = TempXmlHttp.responseText;
TempAjax.DOMDocument = TempXmlHttp.responseXML ;
FunctionName(Result) ;
}
}
}
if (this.debug == 1)
{
alert("Error");
}
TempXmlHttp.setRequestHeader("CONTENT-TYPE","application/x-www-form-urlencoded");
TempXmlHttp.send(PostData) ;
if (!IsFunction)
{
this.DOMDocument = TempXmlHttp.responseXML ;
}
}
//请求数据
Ajax.prototype.RequestURL = function(URL,FunctionName)
{
var TempAjax = this;
var IsFunction = (typeof(FunctionName) == 'function');
var TempXmlHttp = this.GetHttpRequest();
TempXmlHttp.open("GET",URL,IsFunction);
if (IsFunction)
{
TempXmlHttp.onreadystatechange = function()
{
if ( TempXmlHttp.readyState == 4 )
{
var Result = TempXmlHttp.responseText;
TempAjax.DOMDocument = TempXmlHttp.responseXML;
FunctionName(Result);
}
}
}
TempXmlHttp.send(null);
if (!IsFunction)
{
this.DOMDocument = TempXmlHttp.responseXML;
}
}
//读取XML节
Ajax.prototype.SelectNodes = function(Xpath)
{
if (document.all)
{
return this.DOMDocument.selectNodes(Xpath) ;
}
else
{
var NodeArray = new Array();
var PathResult = this.DOMDocument.evaluate(Xpath,this.DOMDocument,this.DOMDocument.createNSResolver(this.DOMDocument.documentElement),XPathResult.ORDERED_NODE_ITERATOR_TYPE, null);
if (PathResult)
{
var TempNode = PathResult.iterateNext() ;
while(TempNode)
{
NodeArray[NodeArray.length] = TempNode ;
TempNode = PathResult.iterateNext();
}
}
return NodeArray;
}
}
//读取单个XML字内容
Ajax.prototype.SelectSingleNode = function(Xpath)
{
if (document.all)
{
return this.DOMDocument.selectSingleNode(Xpath);
}
else
{
var PathResult = this.DOMDocument.evaluate(Xpath,this.DOMDocument,this.DOMDocument.createNSResolver(this.DOMDocument.documentElement),9,null);
if (PathResult && PathResult.singleNodeValue )
{
return PathResult.singleNodeValue;
}
else
{
return null ;
}
}
}
- 简易AJAX框架
- 简易Ajax框架解释【原创】
- 简易ajax
- 用简易Ajax框架实现"加减乘除"运算【原创】
- 用简易Ajax框架实现"无刷新用户验证"【原创】
- [Ajax]用简易Ajax框架实现"省市二级联动下拉菜单"【转载】
- 简易ajax天气渲染
- AJAX简易实战笔记
- Ajax与简易封装
- ajax简易使用
- 用简易Ajax框架实现DropDowList联动DataGrid绑定查询 效果的实现【原创】
- 用简易Ajax框架实现"省市二级联动下拉菜单"【原创】
- Django框架学习笔记(16.利用ajax实现简易的验证)
- 简易C++测试框架
- c#编写简易框架
- 简易介绍springMVC框架
- 简易javascript框架
- JS简易运动框架
- Symbian程序中的观察者模式
- Jadu: 将 PHP 编译成 .NET
- JS日历(二)
- How to write a Makefile
- Ajax为何火!
- 简易AJAX框架
- 真正开始用面向对象思维写程序
- 深入浅出C# 中文版 图文皆译 第四章 类型和引用 page139
- C++ 通过WIN32 API 获取逻辑磁盘详细信息
- ghost使用教程
- 应聘Java笔试时可能出现问题
- COM Interop 理论与实践
- C#中跨线程操作控件
- 点滴经验