私は現在、CakePHP を使用して単一ページのスクロール可能な Web サイト (単一ページとして表示される 5 ページ) に取り組んでいます。各コントローラーアクションに取り組みましたが、すべてうまくいきました。アプリ全体の 1 つのレイアウトと、各アクションのビューがあります。私の課題は、レイアウト内のページをリロードせずに各アクションのビューをロードする方法を見つけることです。すべてのビュー コンテンツを ($content_for_layout をエコーせずに) レイアウト内に配置する必要がありますか、それとももっと良い方法がありますか?
質問する
1869 次
1 に答える
1
div
更新したい が id を持っていることを考慮してください#content
:
$.ajax({
url:"http://yourdomain.com/controller/action",
context:document.body,
dataType:"html",
data:{id:123}, // in case you need to pass some params
success:function(data){
$("#content").html(data);
}
})
アクションは、その div 内に表示する HTML を返す必要があります。各ページを異なる div にロードする場合は、ページごとに 1 つの div を作成し、それぞれに対して AJAX を呼び出す必要があります。
ページが初めて読み込まれるときは、定義したデフォルト アクションのデータを取得するだけです。そして、内容を変更したい場合は、AJAX を呼び出すだけです。
于 2012-08-23T13:21:32.143 に答える