pjax初心者

pjaxをちょっと触ったのでまとめて見ました

フロントやってた人に聞いた話じゃアメリカではajaxよりpjaxらしい

 

Pjax = pushState + Ajax  のjQeuryのプラグインのこと

pushStateとはHTML5から追加されたHistory APIのメソッドで、ざっくり言うと「履歴の変更」ができる。ブラウザの履歴情報をページ遷移せずに変更するメソッドのこと

history.pushState(state,title,url); のように使い

第1引数stateで履歴に関するオブジェクト

第2引数titleで履歴のタイトルを指定

第3引数urlで履歴のurlを指定絶対パス相対パスどちらでもOK

AjaxとはAsynchronous JavaScript + XMLのこと

ページ遷移をさせず(非同期処理で)コンテンツを書き換えられる、他の処理と同時並行で、サーバとやりとりができる、サクサク動くページの動きを再現できる

以上のことよりpjaxとは「非同期ページ遷移」の「履歴あり」のこと

 

 

<a class="pjaxLink" href="ルーティング"> ←遷移させるボタンとか

ここからhead要素に書く
<script src="/static/javascript/main.js"></script>
<script src="//code.jquery.com/jquery-1.11.3.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/jquery.pjax/1.9.6/jquery.pjax.js"></script>
<script src="pjax.min.js"></script>
<script src="/static/javascript/base.js"></script>

遷移元<section id="pjaxContent" class="pjax-test">に書くid class

(これだと変化させたい部分をsectionで挟む)


jsファイルで指定したid classを変化させる
url: 遷移先パス,
container : 遷移部分,
fragment : 遷移部分,
timeout : 時間
をjsに書く

 

<おまけ>ラクスルの価格表ページがpjaxらしい