0

jquery関数またはfancybox$.loadなどのプラグインを使用してコンテンツをサイトに動的にロードすると、レイアウトはロードされず、要素であるかのようにビューのみがロードされるのはなぜだろうか。

My$.load()は、次のような通常のリンクであるかのようにコントローラー アクションを呼び出します。

$('#demo').load("http://"+ document.domain +"/tables/users/edit/", {input : data}, function(dat){
     //whatever
});

これは私が個人的に嫌いなことではありません。このように、要素を作成$this->render('/Elements/xxxx', false);してコントローラーから呼び出すことは避けています。

これが適切な方法なのか、それとも Cakephp のチートやバグなのか知りたいです。

適切な「ビュー」ではなく (レイアウト、ヘッダーなどを持たないため)、動的にロードされる「要素」であるこのタイプのコンテンツをどのように扱うべきでしょうか? 見方として?要素として?

ありがとう。

4

2 に答える 2

2

/Layouts/ajax.ctp を確認してください。これは、ajax 呼び出し用にレンダリングされるレイアウトです。通常、ajax 呼び出しを行うときに要求する要素の周りにすべてのヘッダーとフッターを配置する必要はありません。

于 2013-06-14T13:47:53.990 に答える