Sack of AjaxというJavascriptライブラリがあるんですね。Simple AJAX Code Kitの略だそうです。
同じ様なajax Javascriptライブラリのprototype.js(厳密にはprototyps.jsは、ajaxだけのライブラリではないんですけどね)と比較してみると、prototype.jsでは
new Ajax.Updater( 'id', '/url', { parameters: value, onLoading: function(request){loading()} });
となるコードが、
var mydata = value; ajax = new sack('/url'); ajax.element = 'id'; ajax.onLoading = function(){loading()}; ajax.runAjax(mydata);
といった形で書けるようです。これはresponseTextを直接特定のエレメントにはめ込む例ですね。
responseTextを一旦変数に入れて何かしたい場合は、「Catalystでajax - 補足」で触れた例を使うと、prototype.jsでは、
new Ajax.Request( '/deislde/index.cgi', { method: 'GET', onComplete: function(request){ eval('tagsListObj = ' + request.responseText); displayTags(); } });
というコードが、Sackの方では
ajax = new sack('/delside/index.cgi'); ajax.method = 'GET'; var response = ajax.response; ajax.onCompletion = function() { eval('tagsListObj = ' + response); displayTags(); }; ajax.runAjax();
といった感じになるようです。(ここで挙げたコードは、たぶんこうだろうというのを書いただけで、実際には試していませんです。)
prototypeでは、オブジェクトをnewすると同時に必要なパラメータを全部与えて即実行、という感じですが、Sackではオブジェクトをnewしてから、必要なパラメータを1つづつセットして、任意のタイミングで実行、という感じですね。
俺はどちらかというと、Sackの方が好みなんですが、prototypeの方はフォームデータをシリアライズするメソッドなどがあって便利なので、両方組み合わせるとより快適ににajaxできるんではないでしょうか。