ajax没有向控制器发送数据

时间:2019-04-18 12:52:43

标签: codeigniter

ajax没有向控制器发送数据

    var url = "<?php echo base_url(); ?>";

        function allowip() {
            var url = "<?php echo base_url(); ?>"
            var id = $('#path').attr('value');

             $.ajax({
                type: "POST",
                url: url+"client/home/get_ip",
                //dataType: 'text', 
                data: {'id': id},
                //cache: false,

                success: function(abc) {
                    alert(abc);
                }, 
                error:function(data) {
                    alert('no working');
                }
            });


}

警报与数据一起显示,但未向控制器发送数据 控制器为空

public function get_ip($id)
        {
            $day = $this->input->post('id');
            echo $day;
        }

3 个答案:

答案 0 :(得分:0)

您正在向函数发送参数,因此您可以像这样更改代码

    function allowip() {

        var id = $('#path').attr('value');

        var url = "<?php echo base_url(); ?>"+"client/home/get_ip/"+id

         $.ajax({
            type: "GET",
            url: url,
            dataType: "html",
            success: function(abc) {
                alert(abc);
            }, 
            error:function(data) {
                alert('no working');
            }
        });

}

您的操作将是

public function get_ip($id)
    {
        echo $id;
    }

答案 1 :(得分:0)

我认为这可能是您获得价值的方式。很难看到视图代码,但是我会假设$('#path')是某种<input...>元素。如果那是正确的,则尝试获取像这样的值

var id = $('#path').val();

忘记将参数与get_ip()函数一起使用。您要发布到控制器,而不用参数值创建URL。试试这个。

public function get_ip()
{
  $day = $this->input->post('id');
  echo !empty($day) ? $day : "No Input";  //or, an empty string instead?
 }

答案 2 :(得分:0)

由于您的get_ip函数具有参数$id,因此必须传递该参数,因此url关键字可能会发生冲突,因此请使用其他变量名,并使用{{ 1}}功能。

这可能会有所帮助:

#path

或者您可以做的是在已经在数据中发布val(),但只需更改一些行即可:

function allowip() {
            var id = $('#path').val();
            var request_url = "<?php echo base_url(); ?>"+"client/home/get_ip/"+id;

             $.ajax({
                type: "POST",
                url: request_url, 
                data: {'id': id},
                success: function(abc) {
                    alert(abc);
                }, 
                error:function(data) {
                    alert('no working');
                }
            });
}

public function get_ip($id)
{
   echo $id;
}