私は以下の問題を助けたいと思います。CakePHP - jQueryを使用してDbから新しい結果を取得しないでください
ユーザーがイメージ(ThumbsUpまたはThumbsDown)をクリックし、Db内の指定されたフィールドを1ずつ増加させ、新しい結果がビューに返送されるはずのシステム設定があります。私はDbの値をインクリメントするためにjQueryを使用することができますが、更新するための正しい値を得ることはできません。それはちょうどArray
と表示されます。私はそれがなぜ分かったのかと思います。しかし、どうすればこの問題を解決できますか?
マイビューファイル
...
<div id="article_thumbsUp">
<?php echo $comment['Comment']['liked'];?>
</div>
<img class="voteup" width="20" src="/img/icons/thumb-up-icon.png">
...
私のjQueryのコードを、私は私が10 $comments['Comment']['id']
/comments/voteup/10
を持っているのjQueryを、に関する
<script>
$(".voteup").click(function() {
$('#article_thumbsUp').change(function() {
$(this).load('/comments/voteup/10');
function(result) {
$('#article_thumbsUp').html(result);
};
})
.change();
});
</script>
私が知っている
そして、私のコントローラファイル
function voteUp($id = null){
$this->autoRender = false;
if($this->RequestHandler->isAjax()){
$this->Comment->id = $id;
if($this->Comment->saveField(
'liked',
$this->Comment->field('liked')+1)){
$newValue = $this->Comment->findById($id);
}
}
return $newValue;
}
は、データの配列を作成します。フィールドliked
のみを返すにはどうすればいいですか?
どうもありがとう、
最初の提案に感謝します。 2番目の提案は機能していますが、私が必要とすることはしていません。私は、foreachを使用して生成された同じページで利用可能なコメントが多数あることを説明しませんでした。 $ comments ['Comment'] ['id']を使って、jQueryはforeachによってエコーされた最後のComment.idを取得しています。 foreachが使用され、多くのComment.idが利用可能な状況にどのように接近すべきか。 –
ビューファイルからさらにコードを投稿できますか?各コメントが追加されるforloopを追加します。 – AlexBrand
私はより多くのコードを掲載しました。上記を参照してください..ありがとう –