能实现拖放功能的js脚本dom-drag.js www.yongpup.net
基于浏览器的开发框架(Application Frameworks)
1.Bindows www.bindows.net
2.BackBase www.backbase.com
3.DOJO dojotoolkit.org/
4.Open Rico openrico.org/rico/home.page
5.qooxdoo qooxdoo.oss.schlund.de/
6.Tibet www.technicalpursuit.com/ajax_indepth.htm
7.AJFORM www.redredmusic.com/brendon/ajform/
基于浏览器的应用框架(Infrastructural Frameworks)
1.Ajaxcaller www.ajaxify.com/run/testAjaxCaller
2.Flash JavaScript Integration Kit weblogs.macromedia.com/flashJavaScript/
3.Google AJAXSLT goog-ajaxslt.sourceforge.net/
4.HTMLHttpRequest www.twinhelix.com/JavaScript/htmlhttprequest/
5.Interactive Website Framework sourceforge.net/projects/iwf/
6.LibXMLHttpRequest www.imnmotion.com/reference/2005/09/09/libXmlRequest.html
7.MAJAX unips.sourceforge.net/devblog/?page_id=2
8.RSLite www.ashleyit.com/rs/rslite
9.Sack twilightuniverse.com/2005/06/sack-of-ajax/
10.Sarissa sourceforge.net/projects/sarissa
11.XHConn xkr.us/code/JavaScript/XHConn 简单
基于服务器端的应用框架(java)
1.WebORB for java www.themidnightcoders.com/weborb/
2.Echo 2 www.nextapp.com/platform/echo2/echo/
3.Driect Web Remoting (WDWR) dwr.dev.java.net
4.SWATO swato.dev.java.net/doc/html/
5.AJAX JSP Tag Library ajaxtags.sourceforge.net/
6.AJAX Java Server Faces Framework www.jsfcentral.com/listings/P4010?link
基于服务器端的应用框架(.NET)
1.Bitkraft for ASP.NET www.tiggrbitz.com
2.WebORB for .NET www.temidnightcoders.com/weborb/
3.Ajax.NET ajax.schwarz-interactive.de/csharpsample/defalut.aspx
4.ComfortASP.NET www.comfortasp.de/
5.Magicajax www.magicajax.net
6.Anthem.NET sourceforge.net/projects/anthem-dot-net
基于服务器端的应用框架(其他)
1.Cross-Platform Asynchronous INterface Toolkit cpaint.booleansystems.com
2.SAJAX www.modernmuthod.com/sajax
3.Javascript Object Notation(JSON) and JSON-RPC freshmeat.net/projects/json-rpc-java/
4.JavaScript Remote Scripting(JSRS) www.ashleyit.com/rs/jsrs/test.htm
5.CL-Ajax www.cliki.net/cl-ajsx
6.AjaxAspects ajaxaspects.blogspot.com
7.AjaxAC ajax.zervaas.com.au
8.JPSpan jpspan.sourceforge.net/wiki/doku.php
9.XAJAX www.xajaxproject.org
10.Ruby On Rails www.rubyonrail.org
11.
附件:简单ajax框架
function CallBackObject(){
this.XmlHttp=this.GetHttpObject();
}
CallBackObject.prototype.GetHttpObject=function(){
var xmlHttp;
/*@cc_on
@if(@_jscript_version>=5)
try{
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
} catch(e){
try{
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}catch(E){
xmlHttp=false;
}
}
@else
xmlhttp=false;
@end @*/
if(!xmlHttp&&typeof XMLHttpRequest!='undefined'){
try{
xmlHttp=new XMLHttpRequest();
}catch (e){
xmlHttp=false;
}
}
return xmlHttp;
}
//
CallBackObject.prototype.DoCallBack=function(URL){
if(this.XmlHttp){
if(this.XmlHttp.readyState==4||this.XmlHttp.readyState==0){
var oThis=this;
this.XmlHttp.open("POST",URL);
this.XmlHttp.onreadystatechange=function(){
oThis.ReadyStateChange();
}
this.XmlHttp.send(null);
}
}
}
//
CallBackObject.prototype.AbortCallBack=function(){
if(this.XmlHttp)
{
this.XmlHttp.abort();
}
}
//
CallBackObject.prototype.OnLoading=function(){
//loading
}
//
CallBackObject.prototype.OnLoaded=function(){
//Loaded
}
//
CallBackObject.prototype.OnIniteractive=function(){
//Interactiev
}
//
CallBackObject.prototype.OnComplete=function(responseText,responseXml){
//Complete
}
//
CallBackObject.prototype.OnAbort=function(){
//Abort
}
//
CallBackObject.prototype.OnError=function(status,statusText){
//Error
}
//
CallBackObject.prototype.ReadyStateChange=function(){
//
if(this.XmlHttp.readyState==1){
this.OnLoading();
}
else if(this.XmlHttp.readyState==2){
this.OnLoaded();
}
else if(this.XmlHttp.readyState==3){
this.OnIniteractive();
}
else if(this.XmlHttp.readyState==4){
if(this.XmlHttp.status==0){
this.OnAbort();
}
else if(this.XmlHttp.status==200&&this.XmlHttp.statusText=="OK"){
this.OnComplete(this.XmlHttp.responseText,this.XmlHttp.responseXML);
}
else{
this.OnError(this.XmlHttp.status,this.XmlHttp.statusText,this,XmlHttp.responseText);
}
}
}
/*
/////客户端调用方式
////
<mce:script language="javascript" type="text/javascript" src="JS/CallBackObject.js" mce_src="JS/CallBackObject.js" ></mce:script>
<mce:script language="javascript" type="text/javascript"><!--
function createRequest(){
var name=escape(document.getElementById("name").value);
var cbo=new CallBackObject();
cbo.OnComplete=Cbo_OnComplete;
cbo.OnError=Cbo_OnError;
cbo.DoCallBack("AjaxTest.aspx?name=" + name);
}
function Cbo_OnComplete(responseText,responseXML){
alert(responseText);
}
function Cbo_OnError(status,statusText,responseText){
alert(respnseText);
}
// --></mce:script>
*/