AJAX не отправляет данные на контроллер - PullRequest
0 голосов
/ 18 апреля 2019

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 голосов
/ 18 апреля 2019

Я думаю, что именно так вы и получаете значение. Трудно сказать, не видя код представления, но я предполагаю, что $('#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?
 }
0 голосов
/ 19 апреля 2019

Поскольку ваша get_ip функция имеет аргумент $id, поэтому ей необходимо передать его, ключевое слово url может конфликтовать, поэтому используйте другое имя переменной и получите значение из #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;
}

или вы можете опубликовать $id в данных, как вы уже делаете, но нужно изменить только несколько строк:

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

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

public function get_ip()
{
   $day = $this->input->post('id');
   echo $day;
}
0 голосов
/ 18 апреля 2019

Вы отправляете параметр в функцию, чтобы вы могли изменить свой код следующим образом

    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;
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...