私は CakePHP で作業してきましたが、次の問題が発生しました。1 つのビューと 1 つのメソッド、インデックスを含む管理ページ (AdminsController) があります。インデックス ビューには、他のコントローラーやビューへのハードコーディングされたリンクが含まれています。ビューのコンテンツを含む管理コンテンツに DIV をロードするために、これらすべてのリンクにクラスを割り当てました。このスクリプトを介して:
$(".cmsPage").click(function() {
var url = $(this).attr("href");
$.ajax({
url: url,
success: function(data){
$("#admin_wrapper", "#admin_close", "#admin_content").fadeIn('slow');
$("#admin_content").html(data);
}
});
return false;
});
ページコントローラのこれらのビューの 1 つであるpages/overviewで、同じコントローラ内の別のメソッドupdate_menuに対して ajax 呼び出しを行いました。このメソッドにはビューもあります。これは、現在私のコントローラー/メソッドにあるものです。
public function update_menu(){
$this->layout = '';
foreach($this->request->data as $menu){
//$this->layout = 'ajax';
foreach($menu as $id => $submenu){
$saveData = array('id' => $id, 'submenu' => $submenu);
$this->Page->save($saveData);
$this->render('update_menu','ajax');
}
}
}
管理コントローラには管理レイアウトがあり、概要も同様です。update_menu からデータを取得しようとすると、このようになります。($(document).ready(function(){}); 内)
$("#save_page").click(function(){
toArray();
return false;
});
function toArray() ($(document).ready(function(){}); の外)
function toArray()
{
var serialized = $('ol.sortable').nestedSortable('serialize');
$.ajax({
type: 'POST',
url: 'update_menu',
data: serialized,
success: function(data){
$("#result").html('De pagina\'s zijn opgeslagen!');
}
});
}
コンソールに返されるのは、のレンダリング全体ですadmins/index
。ビュー&レイアウト。
の代わりにビューの結果を取得するにはどうすればよいですかadmins/index
。
情報については、http://mjsarfatti.com/sandbox/nestedSortable/forum/categories/releasesを使用します。
こんにちは、ハーム。