数据库cakephp中的ajax更新

时间:2015-12-18 08:24:17

标签: ajax cakephp

<script>
  function save(obj){
 var res = obj.id.split("-");
   $.ajax({
var url="<?php echo $this->Html->url(array('controller'=>'ajax','action'=>'approveinfo')); ?>";
type: "POST",
data: {status: this.value},
success: function(data) {
 if(obj.id=='btnyes-'+res[1]){
 var yesid='btnyes'+res[1];
document.getElementById('btnyes-'+res[1]).style.display = 'none';
document.getElementById('btnno-'+res[1]).style.display = 'none';
document.getElementById('yes-'+res[1]).style.display = 'block';
document.getElementById('no-'+res[1]).style.display = 'none';
} 
else if(obj.id=='btnno-'+res[1]) {
document.getElementById('btnyes-'+res[1]).style.display = 'none';
document.getElementById('btnno-'+res[1]).style.display = 'none';
document.getElementById('yes-'+res[1]).style.display = 'none';
  document.getElementById('no-'+res[1]).style.display = 'block';
  }
alert("Ajax save executed!");
}
}
 });
 }

此脚本应调用ajax函数并将值更新为1或0 基于onclick功能。 但它没有更新......错误是什么? Ajax代码在

之下
        public function approveinfo($approve="") {
          if(!empty($approve))  && ($approve=='yes')  {         

        $this->Purchaseorder->updateAll(array('Purchaseorder.approve' =>"1"),
        else{
        $this->Purchaseorder->updateAll(array('Purchaseorder.approve' =>"0"),
        }

        $result=array();
        array_push($result,$info);
        echo json_encode($result);
        exit;
       }
       } 

当我点击“是”时,我应该怎么做,以便将值更新为1,当我点击“否”时,将值更新为

1 个答案:

答案 0 :(得分:0)

就像arilia所说,你通过POST将值传递给你的控制器动作。您需要做的就是检查帖子值:

if($this->request->is('post')){

   if(!empty($this->request->data['status']))  && ($this->request->data['status']=='yes'){  

   }
}