【问题标题】:How to retrieve values from DB using ajax in CI如何在 CI 中使用 ajax 从数据库中检索值
【发布时间】:2015-09-15 19:10:17
【问题描述】:

我正在使用 CI.2.2。我开发了像 Facebook 这样的喜欢/不喜欢系统,并且可以将值完全更新到数据库成功中。我的问题是我无法显示喜欢和不喜欢的数量。我怎样才能摆脱这个。

查看页面

<script type="text/javascript" language="javascript" src="http://code.jquery.com/jquery-latest.js"></script>
<script>
$(document).ready(function(){
$(".voteMe").click(function() {
var voteId = this.id;
var upOrDown = voteId.split('_'); 
$.ajax({
type: "post",
url: '<?php echo base_url('family/voteme');?>',
cache: false,				
data:'voteId='+upOrDown[0] + '&upOrDown=' +upOrDown[1],
success: function(response){				
try{
if(response=='true'){	
alert(success);
var newValue = parseInt($("#"+voteId+'_result').text()) + 1; 
$("#"+voteId+'_result').html(newValue);
}else{alert('Sorry Unable to update..');
}
}catch(e) {		
alert('Exception while request..');
}		
},
error: function(){						
alert('Error while request..');
}
 });
});
});
</script>
<div>
<label>
<a class="voteMe" id="<?php echo $pts['familypost_id'];?>_upvote">
<i class="fa fa-thumbs-up"></i>
</a>
<span id="<?php echo $pts['familypost_id'];?>_upvote_result" ></span>
</label>
<label>
<a class="voteMe" id="<?php echo $pts['familypost_id'];?>_downvote">
<i class="fa fa-thumbs-down"></i>
</a>
<span id="<?php echo $pts['familypost_id'];?>_downvote_result" ></span>
</label>
</div>

控制器:

function voteme()
{
    $voteId=  $this->input->post('voteId');
    $upOrDown=  $this->input->post('upOrDown');

    $status ="false";
    $updateRecords = 0;

    if($upOrDown=='upvote'){
        $updateRecords = $this->family_model->updateUpVote($voteId);
    }else{
        $data['down_votes'] = $this->family_model->updateDownVote($voteId);
    }

    if($updateRecords>0){
        $status = "true";
    }
    echo $status;
}

型号:

function updateDownVote($voteId){
    $sql = "UPDATE posts set downvotes = downvotes+1 WHERE post_id=?";
    $this->db->query($sql, array($voteId));
    return $this->db->affected_rows();
    }

    function updateUpVote($voteId){
    $sql = "UPDATE posts set upvotes = upvotes+1 WHERE post_id=?";
    $this->db->query($sql, array($voteId));
    return $this->db->affected_rows();
    }

问题是更新可以完美完成。但是我不知道为什么不能显示喜欢和不喜欢的计数。

请帮帮我。提前致谢。

【问题讨论】:

    标签: javascript php jquery ajax codeigniter


    【解决方案1】:

    在控制台上调试 ajax 脚本并检查 ajax 是否正常工作,然后从 ajax 发出警报,如果警报正常出现,然后检查您如何处理该结果。

    我对这条线有疑问。

    url: '',因为 url 使用两次单引号,我认为首先是双引号,然后是单引号。

    【讨论】:

    • base_url的使用没有问题。它是 CI 用来加载基本路径的方法。
    • 调试并找到什么是ajax的exat url,然后在浏览器上运行它来检查那个ajax url的结果。
    猜你喜欢
    • 2017-05-18
    • 2016-08-16
    • 1970-01-01
    • 2017-12-05
    • 2011-02-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多