アプリケーションの多くの場所で使用される要素(コメントリストとフォーム)があります。ページ全体を更新する必要があることを除いて、すべて正常に機能します。これは、特にコメントが属するゲームをリセットし、すべての進行状況が悲劇的に失われる場合に問題になる可能性があります。私はAJAXの経験が非常に限られているので、コメントを追加して要素をリロードするための最も効果的で最も簡単な方法は何ですか?
これが私の要素です:
<?php
/*
set variables:
$data : data of the parent
$type : the type of the parent
$name : (optional)unique name to avoid naming conflicts
*/
if(!isset($name)) {
$name = 0;
}
foreach($data['Comment'] as $comment){
echo '<div class="comment">'.$comment['content'].
' - '.$this->Html->link($comment['User']['username'],array('controller'=>'users','action'=>'view',$comment['User']['id']))
.'</div>';
}
echo $this->Form->create(null, array('url' => '/comments/add','id'=>'qCommentForm'));
echo $this->Html->link('Leave comment','javascript:toggleDisplay("comment'.$name.'")');
echo '<br><div id="comment'.$name.'" style="display:none;">';
echo $this->Form->input('Comment.parent_id', array('type'=>'hidden','value'=>$data[$type]['id']));
echo $this->Form->input('Comment.parent_type', array('type'=>'hidden','value'=>$type));
echo $this->Form->textarea('Comment.content',array('div'=>'false','class'=>'small','label'=>false));
echo $this->Form->submit(__('Leave comment'),array('div'=>'false','class'=>'small'));
echo '</div>';
echo $this->Form->end();
?>
アップデート
さて、あなたの投稿のおかげでajaxについてもっとよく理解できましたが、これを「ケーキのように」行う方法はまだわかりません。