Получение данных с помощью метода jQuery ajax в codeigniter

#php #jquery #ajax #codeigniter

#php #jquery #ajax #codeigniter

Вопрос:

Ниже мой взгляд:

 <!DOCTYPE html>
<html>
    <head>
        <link rel="stylesheet" href="<?php echo base_url("assets/css/bootstrap.min.css"); ?>">
        <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.5.0/css/font-awesome.min.css">
        <script src="<?php echo base_url("plugins/jQuery/jQuery-2.2.0.min.js"); ?>"></script>
        <script type="text/javascript" charset="utf-8">
            function waitForMsg1() {
                $.ajax({//Ajax method to get data from Message Controller
                    type: "GET",
                    url: "<?php echo base_url('index.php/message/messageCount'); ?>",
                    async: true,
                    cache: false,
                    timeout: 50000,
                    success: function (data) {
                        addmsg("new", data);
                        setTimeout(waitForMsg1, 1000);
                    },
                });
            };

            $(document).ready(function () {
                waitForMsg1();
            });

            function addmsg(type, count) {
                $('#badge').html(count);  //selecting the element to display inside the badge
            }
        </script>

    </head>
    <header>
        <a href="#"><span><div id="bounce"><i class="fa fa-envelope ">
                        <span class="badge" id="badge" style="background-color:red;margin:-25px 0 0 -5px;">
                        </span></i></div></span></a>
    </header>
  

Ниже приведен контроллер:

 <?php
class Message extends CI_Controller
{
    function __construct()
    {
        parent::__construct();
        $this->load->model('MessageDb');
        $this->load->model('UserDb');
        $this->load->model('EmployeeDb');
    }

    public function messageCount()
    {
        echo '12345';   //This is the dummy value.
    }

}
?>
  

Я хочу отобразить счетчик из контроллера сообщений в представление, он не работает. Я много пробовал, но не смог исправить проблему. Как это можно сделать?

Комментарии:

1. вы не запустили метод waitForMsg1(). Это означает, что вы должны установить, когда метод запускается в первый раз, тогда он автоматически будет вызываться через каждые 1 секунду.

2. @mdasifrahman, разве первый запуск не waitForMsg1() обрабатывается в $(document).ready(function () {... блоке?

3. Итак, что же все-таки происходит? Какие способы устранения неполадок вы пробовали?