Ajax请求返回成功消息但数据未插入数据库

时间:2016-07-23 17:41:45

标签: php jquery ajax

我发送一个ajax请求它也返回成功消息,但数据没有插入。基本上它是一个链接,当我将点击链接然后ajax将向控制器发送请求,并在数据库中它将值与之前的值增加1.我已经尝试通过很多次但是失败了。这是一个codignator项目。如果你能给予帮助,我们将不胜感激。

Ajax File :

$(document).ready(function(){

	$("#like").click(function(e){
	    e.preventDefault(); // <------this will restrict the page refresh
        var post_id = $(this).prop('rel');
	    $.ajax({
	        url: "http://localhost/ci_website/index.php/site/add_like",
	        type: 'POST',
	        data : post_id,
            dataType: 'json',
	        success: function(res) {

	            if (res.success) {
	            	alert(res.msg);
                } else {
                    alert(res.msg);
                }
	        }

	    });

	    return false;
	});	

});
View File :

<a id="like" class="like_btn" rel="<?php echo $blog['blog_id'];?>" href="<?php echo site_url('site/add_like') . '/' . $blog['blog_id'];?>">Like</a>
控制器文件:

 public function add_like()
{
     header('Content-Type: application/json');
    if ($this->input->is_ajax_request()) {
        $post_id = $this->uri->segment(3);

        $this->db->set('post_like', '`post_like` + 1', FALSE);
        $this->db->where('blog_id', $post_id);
        $add_post_view = $this->db->update('wb_blog');
        if ($add_post_view) {
            die(json_encode(array('success' => true, 'msg' => 'Your Like has been sent successfully.')));
        } else die(json_encode(array('success' => false, 'msg' => 'Something bad happened!!! Please, try again.')));
    }


}

3 个答案:

答案 0 :(得分:0)

<强>更新

检查

if ($this->db->_error_message()) {
return FALSE; // Or do whatever you gotta do here to raise an error
} else {
return $this->db->affected_rows();
}`

答案 1 :(得分:0)

您没有调用该函数,您只是加载该函数,并且由于文件的加载成功,它返回true。 定义函数后,尝试调用它,看看它是否有效。

答案 2 :(得分:0)

 url: "http://localhost/ci_website/index.php/site/add_like/"+post_id,

我在链接后添加了'post_id'。这很好。我没有定义表格行受影响的确切ID。