Jquery ajax调用不是在codeigniter中调用控制器

时间:2017-09-11 13:12:58

标签: javascript php jquery ajax codeigniter

我试图使用ajax调用我的控制器函数,但它没有使用输入调用。这是我的ajax电话

 if(value)
            {
               $.ajax({
                   type:"POST",
                   dataType:"text",
                   cache:false,
                   contentType: "application/json; charset=utf-8",
                   url:"<?php echo base_url('Dashboard/deleteSpeciality'); ?>",
                   data:{'id':id},
                   success:function(data){
                       alert("i am in success");
                   },
                   error:function(data){
                       alert(data);
                   }
               });
            }

这是我的控制器功能。 Ajax调用正在进行,但输入不是。在服务器端程序抛出错误ID未定义。

  public function deleteSpeciality($id) {
        $result= $this->Dashboard_model->getSpeciality($id);
        $path=$result[0]->ImagePath;
        $this->load->helper("file");
        delete_files($path);
        unlink($path); 
        $this->Dashboard_model->deleteSpeciality($id);
        return 1;
    }

2 个答案:

答案 0 :(得分:0)

在您的控制器$id=$_POST['id']中尝试此操作,并且当您使用Post方法时,请不要将id作为参数传递给函数。

public function deleteSpeciality() {
        $id=$_POST['id']
        //code here
    }

答案 1 :(得分:0)

试试这个

 public function deleteSpeciality()
    {
      $id=$this->input->post('id');
      // will print the id that was posted from ajax 
      //echo $id; 
      $result= $this->Dashboard_model->getSpeciality($id);
      $path=$result[0]->ImagePath;
      $this->load->helper("file");
      delete_files($path);
      unlink($path); 
      $this->Dashboard_model->deleteSpeciality($id);
      return 1;
    }