这是我的代码片段。
CommentsController
public function edit_comments()
{
$this->autoRender = false;
$data = json_decode($_POST['data'], true);
// print_r(json_encode($this->request->data));
if (empty($data['id']))
{
echo "Invalid Post";
}
echo $data['id'];
$post = $this->Comment->viewById($data['id']);
if (empty($post))
{
echo 'Invalid post';
}
if ($this->request->is(array('post', 'put'))) {
$this->Comment->id = $data['id'];
if ($this->Comment->save($this->request->data)) // I able to bypass this if
{
echo "Successfully Updated";
exit;
}
echo "error";
}
}
这是我的自定义Jquery
$(document).ready(function(){
$('.edit').click(function(e){
e.preventDefault();
var comment = $(this).closest('td').prev().children('p.comment-text').text(),
id = $(this).closest('td').prev().attr('data-id'),
tag = $(this).closest('td').prev();
console.log(comment);
tag.find('textarea#comment').val(comment);
tag.find('input#comment_id').val(id);
});
$('#update').on('click',function(e){
e.preventDefault();
var comment = $('#comment').val(),
comment_id = $('#comment_id').val(),
data = {
comment: comment,
id: comment_id
};
$.ajax({
type: 'post',
url: '/stuff/Blog/comments/edit_comments',
data: {data: JSON.stringify(data)},
dataType: 'JSON',
success: function(response){
console.log(response);
}
});
});
});
我的问题是我无法更新数据库中的数据,但我可以打印edit_comment函数中的所有数据。我能够打印出更新后的成功" if内有保存功能。
答案 0 :(得分:0)