Ajax专题...
[color=Green]Ajax 由 HTML、JavaScript™ 技术、DHTML 和 DOM 组成,这一杰出的方法可以将笨拙的 Web 界面转化成交互性的 Ajax 应用程序.比如我们经常用的Gmail就采用了Ajax技术...甚至将来融合Ajax的web应用程序将代替桌面应用程序.这不是不可能,这对我们这些Web程序员无疑是个好消息(每次看到那些做ERP的几万几十万的赚钱心里就不爽啊,都是程序员差距怎么这么大呢?)...[/color][color=Blue]本专题将收集一些常用Ajax资料教程应用等,希望大家踊跃提供资料.[/color]
[color=Blue]Ajax 的定义[/color]
Ajax 是 Asynchronous JavaScript and XML(以及 DHTML 等)的缩写.这个短语是 Adaptive Path 的 Jesse James Garrett 发明的,按照 Jesse 的解释,这不是每个首字母缩写词.
[color=Blue]Ajax 所用到的基本技术:[/color]
·HTML 用于建立 Web 表单并确定应用程序其他部分使用的字段.
·JavaScript 代码是运行 Ajax 应用程序的核心代码,帮助改进与服务器应用程序的通信.
·DHTML 或 Dynamic HTML,用于动态更新表单.我们将使用 div、span 和其他动态 HTML 元素来标记 HTML.
·文档对象模型 DOM 用于(通过 JavaScript 代码)处理 HTML 结构和(某些情况下)服务器返回的 XML.
[color=Green]废话少说,先来两个Ajax类库:[/color]
[color=Blue]>> XAJAX[/color]
特点:采用PHP编写,支持UTF-8编码,Smarty模板,体积稍大,功能丰富,使用方便
官方:[url]http://www.xajaxproject.org/[/url]
下载:[url]http://sourceforge.net/project/showfiles.php?group_id=139736[/url]
中文手册:[url]http://www.im286.com/attachment.php?aid=3399[/url]
[color=Blue]>> SAJAX[/color]
特点:包含PHP,ASP等8种语言的Ajax类库,功能略弱
官方:[url]http://www.modernmethod.com/sajax/[/url]
下载:[url]http://www.modernmethod.com/sajax/download.phtml[/url]
[[i] 本帖最后由 bleakwind 于 2006-6-14 00:18 编辑 [/i]] 相关附件下载...
[[i] 本帖最后由 bleakwind 于 2006-6-14 00:17 编辑 [/i]] 谢谢 收下了 [url]http://lib.verycd.com/2006/05/13/0000102696.html[/url]
这里有 方正apabi联盟制作[Ajax.基础教程].pdf 有兴趣的可以看看 收到,谢谢 感谢 *** 作者被禁止或删除 内容自动屏蔽 *** 谢谢了,学习中~~~~~~~~~~~~ 斑竹控制下吧
禁止灌水啊....
删吧 怎么没 AJAX.NET? 俺写的一个ajax的类
[code]
<!--
//xmlhttp和xmldom对象
DedeXHTTP = null;
DedeXDOM = null;
DedeContainer = null;
//获取指定ID的元素
function $(eid){
return document.getElementById(eid);
}
//参数 gcontainer 是保存下载完成的内容的容器
function DedeAjax(gcontainer){
DedeContainer = gcontainer;
//post或get发送数据的键值对
this.keys = Array();
this.values = Array();
this.keyCount = -1;
//http请求头
this.rkeys = Array();
this.rvalues = Array();
this.rkeyCount = -1;
//请求头类型
this.rtype = 'text';
//初始化xmlhttp
if(window.XMLHttpRequest){//IE7, Mozilla ,Firefox 等浏览器内置该对象
DedeXHTTP = new XMLHttpRequest();
}else if(window.ActiveXObject){//IE6、IE5
try { DedeXHTTP = new ActiveXObject("Msxml2.XMLHTTP");} catch (e) { }
if (DedeXHTTP == null) try { DedeXHTTP = new ActiveXObject("Microsoft.XMLHTTP");} catch (e) { }
}
DedeXHTTP.onreadystatechange = function(){
if(DedeXHTTP.readyState == 4){
if(DedeXHTTP.status == 200){
DedeContainer.innerHTML = DedeXHTTP.responseText;
DedeXHTTP = null;
}
else DedeContainer.innerHTML = "下载数据失败";
}
else DedeContainer.innerHTML = "正在下载数据...";
};
//增加一个POST或GET键值对
this.AddKey = function(skey,svalue){
this.keyCount++;
this.keys[this.keyCount] = skey;
this.values[this.keyCount] = escape(svalue);
};
//增加一个Http请求头键值对
this.AddHead = function(skey,svalue){
this.rkeyCount++;
this.rkeys[this.rkeyCount] = skey;
this.rvalues[this.rkeyCount] = svalue;
};
//清除当前对象的哈希表参数
this.ClearSet = function(){
this.keyCount = -1;
this.keys = Array();
this.values = Array();
this.rkeyCount = -1;
this.rkeys = Array();
this.rvalues = Array();
};
//发送http请求头
this.SendHead = function(){
if(this.rkeyCount!=-1){ //发送用户自行设定的请求头
for(;i<=this.rkeyCount;i++){
DedeXHTTP.setRequestHeader(this.rkeys[i],this.rvalues[i]);
}
}
if(this.rtype=='binary'){
DedeXHTTP.setRequestHeader("Content-Type","multipart/form-data");
}else{
DedeXHTTP.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
}
};
//用Post方式发送数据
this.SendPost = function(purl){
var pdata = "";
var i=0;
this.state = 0;
DedeXHTTP.open("POST", purl, true);
this.SendHead();
if(this.keyCount!=-1){ //post数据
for(;i<=this.keyCount;i++){
if(pdata=="") pdata = this.keys[i]+'='+this.values[i];
else pdata += "&"+this.keys[i]+'='+this.values[i];
}
}
DedeXHTTP.send(pdata);
};
//用GET方式发送数据
this.SendGet = function(purl){
var gkey = "";
var i=0;
this.state = 0;
if(this.keyCount!=-1){ //get参数
for(;i<=this.keyCount;i++){
if(gkey=="") gkey = this.keys[i]+'='+this.values[i];
else gkey += "&"+this.keys[i]+'='+this.values[i];
}
if(purl.indexOf('?')==-1) purl = purl + '?' + gkey;
else purl = purl + '&' + gkey;
}
DedeXHTTP.open("GET", purl, true);
this.SendHead();
DedeXHTTP.send(null);
};
} // End Class DedeAjax
//初始化xmldom
function InitXDom(){
if(DedeXDOM!=null) return;
var obj = null;
if (typeof(DOMParser) != "undefined") { // Gecko、Mozilla、Firefox
var parser = new DOMParser();
obj = parser.parseFromString(xmlText, "text/xml");
} else { // IE
try { obj = new ActiveXObject("MSXML2.DOMDocument");} catch (e) { }
if (obj == null) try { obj = new ActiveXObject("Microsoft.XMLDOM"); } catch (e) { }
}
DedeXDOM = obj;
};
-->
[/code]
使用方法
//toemID 接收数据的元素ID,surl是请求页
//如果要用post,则myajax.SendPost(surl);
//用 myajax.AddKey(skey,svalue) 设定 get 或 post 的请求值
// myajax.AddHead(skey,svalue) 设设定http请求头
function YourAction(toemID,surl)
{
if($(toemID).innerHTML == ''){
var myajax = new DedeAjax($(toemID));
myajax.SendGet(surl);
}
}
如果要用dom的,就比较麻烦些,不建直接用xhttp来获得dom,而是通过返回的内容再载入到dom中 Prototype Dojo之类的框架也是必要的 文档说明也有中文的,但是其他的框架如Rico Backbase...还没有中文文档,有兴趣搞几个中国的官方也不错~~ 收到,谢谢 不错,收藏 SAJAX0.12中去掉了asp版本,需要asp版本的可以下载0.11
[url]http://www.modernmethod.com/sajax/sajax-0.11.zip[/url] [quote]原帖由 [i]折翼飞翔[/i] 于 2006-6-18 06:47 发表
SAJAX0.12中去掉了asp版本,需要asp版本的可以下载0.11
[url]http://www.modernmethod.com/sajax/sajax-0.11.zip[/url] [/quote]
asp版本因为bug暂时去掉,不推荐现在用,可以等新版本发布后再用。。。
[quote]
ASP support has been temporarily removed due to bugs. It will be back soon.
- tlack
[/quote] [quote]原帖由 [i]qilin088[/i] 于 2006-6-16 19:34 发表
斑竹控制下吧
禁止灌水啊....
删吧 [/quote]
有同感 支持! 先留个位置!马上回来!放代码!
