Как использовать ajax в codeigniter 4 - PullRequest
0 голосов
/ 07 февраля 2020

Я использую версию codeigniter-4 и пытаюсь выполнить автоматический поиск в навигационной панели. Я пытаюсь отправить данные методом post в контроллер, используя ajax. Но это не работа. И кодигнитер 4 не описал детали для ajax. ниже моего поля ввода примера кода - -

<input class="form-control mr-sm-2" type="search" placeholder="<?= lang('nav.search'); ?>" aria-label="Search" name='s' id="seachBox">

ajax код -

     $.ajax({  
       url:<?= base_url('search'); ?>,
       headers:{'X-Requested-With':'XMLHttpRequest'},
       data:{query:query},
       success:function(data){
             alert(data);
       }  
    });

, а мой контроллер -

<?php
class Search extends BaseController
{
    public function __construct()
    { 
        helper(['common_helper','aws_helper']);
    }

    public function index(){

        echo 'string';
    }
}
?>

маршрут - -

<?php 

$routes->get('/search', 'Search::index');

?>

1 Ответ

2 голосов
/ 07 февраля 2020

Вот пример кода ajax. (Убедитесь, что вы определили метод маршрута / контроллера для search url)

$.ajax({  
    url:<?php echo base_url('search'); ?>,
    type: 'post',
    dataType:'json',
    data:{query:query},
    success:function(data){
        alert(data);
    }  
});

CI4-код для получения данных запроса

if ($this->request->isAJAX()) {
    $query = service('request')->getPost('query');
    var_dump($this->request->getPost('query'));
}
...