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できるんではないでしょうか。