Просмотреть файл product_grid

 <div data_id="<?php echo $ro['category_id']; ?>" name="id" class="cbp-filter-item">
                                <?php echo $ro['category_name']; ?></div>

// try to post data using ajax                  

<script type="text/javascript">
    $(document).ready(function() {
    $('.cbp-filter-item').click(function(){
            var id=$(this).attr('data_id');
        //  alert(data_id);
            jQuery.ajax({
                url:"<?=base_url()?>.index.php/Home/product_grid",
                type:'POST',
                data: {"id":id},
                success:function(data) {
                   alert(data);
                }
            });
        });
    });
</script>

Услышьте, я могу передать идентификатор для просмотра, но не работает должным образом, пожалуйста, помогите мне решить эту проблему

Controller ::
public function product_grid()
    {
        $id= $this->input->post('id');      
    }
0
Vidhi Patel 15 Июн 2017 в 14:46
Ты все сделал правильно, а в чем твоя проблема ?? "передать значение данных контроллеру с помощью ajax" что означает ??
 – 
kishor10d
15 Июн 2017 в 14:49
1
ТИПО: url: ". Index.php / Home / product_grid", опечатка удалить точку перед index.php в URL-адресе ajax
 – 
JYoThI
15 Июн 2017 в 14:49
1
Достигает ли вызов ajax действия вашего контроллера? потому что URL ". index.php / Home / product_grid" мне кажется странным
 – 
Ghassen Rjab
15 Июн 2017 в 14:49

2 ответа

Вы должны использовать print или echo, в противном случае на стороне клиента не будет ответа, поэтому используйте echo, например,

public function product_grid(){
     $id= $this->input->post('id');
     echo 'Data-Id is: '.$id;
}

И используйте URL-адрес, например,

url:"<?=base_url()?>index.php/Home/product_grid", // let there is / in the end of base_url()

Код AJAX,

jQuery.ajax({
   url:"<?=base_url()?>index.php/Home/product_grid",
   type:'POST',
   data: {id:id}, // no need of quotes to JSON Object keys
   success:function(data) {
       alert(data);
   }
});
3
Rohan Kumar 16 Июн 2017 в 09:50
Привет, Рохан. Это тоже неправильно.
 – 
Vidhi Patel
16 Июн 2017 в 08:34
Проверьте консоль своего браузера на наличие ошибок и убедитесь, что запрос AJAX выполнен правильно.
 – 
Rohan Kumar
16 Июн 2017 в 08:41
Я получаю данные правильно, но не отправляю контроллеру
 – 
Vidhi Patel
16 Июн 2017 в 09:28
I Chcked и eroor alert могут быть запущены и отображать html-код. и не оповещать об успешной функции
 – 
Vidhi Patel
16 Июн 2017 в 09:40
1
Дайте мне ваш рабочий URL-адрес кода, иначе вам придется проверить код вашего контроллера. Я думаю, у вас есть ошибки в PHP-коде. Включите журналы в файле конфигурации и проверьте его на наличие ошибок.
 – 
Rohan Kumar
16 Июн 2017 в 13:19
<script type="text/javascript">
    $(document).ready(function() {
    $('.cbp-filter-item').click(function(){
            var id=$(this).attr('data_id');
        //  alert(data_id);
            jQuery.ajax({
                url:"<?=base_url()?>+index.php/Home/product_grid",
                type:'POST',
                data: {"id":id},
                success:function(data) {
                   alert(data);
                }
            });
        });
    });
</script>


url:"<?=base_url()?>+index.php/Home/product_grid"

Используйте + для объединения вместо.

0
Komal G. 15 Июн 2017 в 14:50
Оператор конкатенации используется для добавления нескольких строк в JS, а не в одну строку.
 – 
Rohan Kumar
15 Июн 2017 в 14:54
Привет. + в строке действительно не будет делать то, что вы думаете, вам нужно будет закрыть строку, поставить плюс и снова открыть ("<?=base_url()?>"+"index.php/Home/product_grid"). Однако в данном случае это действительно не нужно.
 – 
Félix Gagnon-Grenier
29 Июл 2017 в 22:18