試圖在投票系統中添加一些ajax功能,但它不工作。我想向數據庫發送發佈請求並更新計數值。我遇到的問題是,我似乎無法獲得MVC內的Ajax請求。Codeigniter加載ajax請求
我確實想保留MVC結構。
jQuery代碼是:
<script>
$(document).ready(function() {
$("#vote li a").each(function(index) {
$(this).click(function(){
$.ajax = ajax();
var id = $(this).attr('data-scenario-id');
var value = $(this).attr('data-value');
$.ajax({
url: "ajax-vote.php",
cache: false,
data: { id: id, value: value }
})
.done(function(html) {
$(this).html(html);
});
return false;
});
});
});
和當前駐留在Ajax的vote.php PHP的代碼是:預先
$id = isset($_GET['id']) ? $_GET['id'] : null;
$value = isset($_GET['value']) ? $_GET['value'] : null;
$query = $this->db->query('SELECT count FROM total_counts WHERE scenario_id = ' . $id . ' AND interaction_id = ' . $value);
$row = $query->row();
$count = $row->name;
$count++;
$query = $this->db->query('UPDATE total_counts SET count = ' . $count);
$query = $this->db->query('SELECT count FROM total_counts WHERE scenario_id = ' . $id . ' AND interaction_id = ' . $value);
$row = $query->row();
$count = $row->name;
switch ($value) {
case 1:
$text = 'OK '. $count;
break;
case 2:
$text = 'NOT OK'. $count;
break;
case 3:
$text = 'ABUSE'. $count;
break;
}
echo '<a href="#" data-scenario-id="'.$id.'" data-value="'.$value.'">'. $text .'</a>';
感謝。
是ajax-vote是一個控制器還是一個在你的CI設置之外的純文件? – 2014-09-11 14:54:39
ajax-vote是應用程序根目錄中的純文件 - 我想將其作爲應用程序包含在其中,否則我將不得不對應用程序進行硬編碼併爲應用程序添加額外的膨脹。 – jamper 2014-09-11 15:03:12