Как получить данные из контроллера при обновлении страницы? - PullRequest
0 голосов
/ 07 мая 2019

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

Каков наилучший способ сделать это? Я пробовал кое-что с событием onload, но я не могу найти способ попасть в контроллер с ним

В настоящее время я пытаюсь: Jquery / Ajax:

 $( document ).ready(function() {
   $.ajax({
    type: 'POST',
    url:'<?=base_url('notificacoes') ?>'
   }).done(function(e){
    console.log(e);
    $('#notbadge').html(e);
   }) 
});

Контроллер:

<?php

    defined('BASEPATH') OR exit('No direct script access allowed');

    class Notificacoes extends CI_Controller {
        function __construct(){
            parent::__construct();
            $this->load->model('Notificacoes', '', TRUE);
            $this->load->model('Viatura', '', TRUE);
            $this->load->library('session');
        }

        public function index(){
            $matricula = $this->session->viatura;
            $viatura = $this->Viatura_model->read($matricula);

            return $viatura;

        }
    }

HTML-значок:

<span class="badge" id="notbadge"></span>

Это не выводит мне массив на консоли, почему?

1 Ответ

1 голос
/ 07 мая 2019

Чтобы получать уведомления о повторном обновлении страницы каждый раз, не стоит использовать для этого javascript или angular js. попробуйте что-то вроде этого.

$scope.getNotifications = function () {
        $.ajax({
            url: "<?php echo base_url() . "dashboard/getNotifications" ?>",
            type: 'POST',
            dataType: 'json',
            success: function (data, textStatus, jqXHR) {
                //console.log(data);
                $scope.notifications = data;
                $scope.total_unread_noti = data.total_unread_noti;
                $scope.$apply();
            }

        });
    };
    $scope.getNotifications();


    setInterval(function () {
        $scope.getNotifications();
    }, 3000);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...