というわけでAjaxですよ。javascript関連の本を読んだら、早速実践。一回はいじってみたいなと思っていたのだ。
まぁ、いろんなサイトの字面だけ眺めると、要するにXMLHttpRequestオブジェクトとDHTMLでしょなんてのは頭ではなんとなく理解した気になるんだが、実際にサンプルを自分で書いてみると要するにの重さが違う、っというかちゃんと理解した(Javascriptの本も読んだから、コードの内容もわかるし)。
というわけで、軽くウォーミングアップを終えたら、前から気になっていた、taggingプラグインにAjaxな絞込みフォームをつけます。
mizzy.orgさんのとこのソースを眺めて、xmlhttprequest.jsとblosxom2.jsのfindTag関数をパックンチョさせてもらいました。で、findTag関数のHTMLをGETするところでflav=tagという部分を見て
あー、僕はフレーバー切り替えるプラグイン入れてないからとりあえず削っておこ
#req.open('GET', path + '?flav=tag&find_tag=' + tag);
req.open('GET', path + '?find_tag=' + tag);
とか考えて、修正して実行したらえらい事に、、、、
無限連鎖だ。コレはコレでおもろいが、失敗してふと気づいた。そういえば、確かblosxomそのものにフレーバーの切り替えあったような。
やっぱ、ありました
というわけで、tagのリストだけが表示されるように中身が空のフレーバーをいくつか作って解決。
そして、かなり満足気。仕事をやり遂げた気分。
- ポイント
- xmlhttprequest用のjavascriptと問い合わせ用の関数
- divにid属性つけとく
- listのみを返すフレーバーを作っておく
flav=でフレーバー切り替えてAjaxな仕組みを使うのはなかなか新鮮だった。というか面白いのでもちっと色々やってみたくなったヨ。