用于评论和评级AJAX的脚本

时间:2012-02-14 13:17:41

标签: php codeigniter jquery

是否有任何我可以编辑并插入我的CI的脚本...我希望能够添加注释和评级并将其保存到数据库而无需重新加载页面..

1 个答案:

答案 0 :(得分:1)

ajax电话 - > ci控制器 - >控制器验证 - >控制器调用模型 - > model处理db - > ci将true / false返回给ajax - > ajax据此处理。

AJAX致电:

$.ajax({
    url: '/index.php/ratings/process',
    type: 'POST',
    dataType: 'json',
    error: function(data){
      console.log('your errors are: '+data.errors);
    },
    success: function(data){
      console.log('added rating/comments to db!');
    }
});

CodeIgniter控制器称为评级:这没有任何表单验证,您应该这样做。在调用之前,或使用条件语句进行验证。

public function process(){
    $field1 = $this->input->post('field1', TRUE);
    $params = array( 'field1' => $field1);
    if (!$this->comments->addComments($params)){
      return $this->output->set_status_header(500, 'error submitting to db'); 
    }else{
      return $this->output->set_status_header(200, 'success!'); 
    }
}

CodeIgniter模型称为评论

public function addComments($params = FALSE){
  // if params is not equal to false, do work.
  if (!$params == FALSE){
    //insert the params into the database comments
    $this->db->insert('comments', $params);
    // if affected rows is greater than 0, return the last inserted ID.
    if ($this->db->affected_rows() > 0){
       return $this->db->insert_id();
    }else{
       // otherwise return false, fail
       return false;
  }else{
    // params were false so return false
    return false;
  }
}

代码不完整,但你明白了。