1

私は現在、CakePHP を使用して単一ページのスクロール可能な Web サイト (単一ページとして表示される 5 ページ) に取り組んでいます。各コントローラーアクションに取り組みましたが、すべてうまくいきました。アプリ全体の 1 つのレイアウトと、各アクションのビューがあります。私の課題は、レイアウト内のページをリロードせずに各アクションのビューをロードする方法を見つけることです。すべてのビュー コンテンツを ($content_for_layout をエコーせずに) レイアウト内に配置する必要がありますか、それとももっと良い方法がありますか?

4

1 に答える 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 に答える