0

我的 codeigniter 视图文件中有以下几行 jquery 代码,它获取表单字段值并将它们发送到控制器中的add_emp_performance函数。employees

    var emp_id = "<?php echo $this->uri->segment(3); ?>";
    var title = $("#title").val();
    var date = $("#date").val();
    var url = "<?php echo base_url().'index.php/employees/add_emp_performance/';?>"+emp_id;
    //alert(emp_id); ---> works fine
    //alert(url);  ---> works fine
    $.ajax({
        type: "GET",
        //type: "POST",
        url: url,
        //data: 'emp_id='+emp_id+'&title='+title+'&date='+date,
        success: function(r){
            if(r==1){
                alert("Performance Saved!");
            }else{
                alert("Error!");
            }
        }
    }); 

控制器员工函数 add_emp_performance :

function add_emp_performance($emp_id){
    echo $emp_id ;exit;

我不断收到以下错误:

A PHP Error was encountered

Severity: Warning

Message: Missing argument 1 for Employees::add_emp_performance()

Filename: controllers/employees.php

可能是什么问题呢?多谢!

4

2 回答 2

0

问题是您错过了发布数据的ajax的数据选项

 $.ajax({
    type: "GET",
    url: url,
    data:{'emp_id':emp_id }, //<---here this is data that is posted to the server
    ....
于 2013-07-31T09:48:11.653 回答
-1

问题是你没有通过你的ajax传递可变的emp_id
试试这个:你可以在ajax中传递数据

var emp_id = "<?php echo $this->uri->segment(3); ?>";
    var title = $("#title").val();
    var date = $("#date").val();
    var url = "<?php echo base_url().'index.php/employees/add_emp_performance/';?>"+emp_id;
    //alert(emp_id); ---> works fine
    //alert(url);  ---> works fine
    $.ajax({
        type: "GET",
        url: url,
        data:{'emp_id':emp_id },
        success: function(r){
            if(r==1){
                alert("Performance Saved!");
            }else{
                alert("Error!");
            }
        }
    }); 

在您的控制器中,您可以获取以这种模式传递的数据:

function add_emp_performance(){
    echo $this->input->get('emp_id');exit;
于 2013-07-31T09:49:33.333 回答