このエントリーをはてなブックマークに追加

Express + jQueryでpjaxを使う

先日、暇つぶしに Express で噂の pjax を使って遊んでみました。pjax 自体は jquery-pjax を使う事で手間をかけずに実現出来ますね。

サーバ側もHTTPリクエストヘッダにX-PJAXがあるかどうか判定し、あった場合はlayout: falseとするだけなのでとても簡単です。

app.js のコードはこんな感じに。

しかし毎回if文を書くのも面倒なので、pjaxなリクエストが来た時だけlayout: falseになるようにrenderメソッドをラップした新しいメソッドを作成しました。npmでインストール出来ます。

使い方:

本当はrender自体をカスタマイズしたかったのですが、Expressのソースを見た限りではちょっと難しそうだったので新たにrenderPjaxというメソッドを作りました。そのうちリダイレクトにも対応したいですね。