msz900 Ответов: 1

Ajax в выпуске codeigniter


Я пытаюсь обновить / перезагрузить страницу с помощью ajax с помощью codeigniter.
Код работает нормально, но он загружает всю мою страницу [view], и я хочу загрузить только таблицу или какой-то конкретный контейнер, но с использованием того же представления. Я проверил много вопросов, но не нашел того, что хочу, пожалуйста, проверьте вопрос вместо того, чтобы голосовать вниз. Что в этом плохого? может кто-нибудь, пожалуйста, взглянуть на него.

Что я уже пробовал:

View:

      <pre lang="PHP"><!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Insert | SP</title>
      <script src="<?php echo base_url(); ?>bootstrap/js/jquery-2.1.1.min.js"></script>

<script>
        $(document).ready(function(){

            function loadNowPlaying(){
      $(this).load('<?php echo base_url().'Store/student' ;?>');
    }
    setInterval(function(){loadNowPlaying()}, 5000);
        });


        </script>

 </head>
    <body>
        <form action="<?php echo base_url();?>Store/add" method="post">
            <input type="text" name="name" id="name"><br>
            <input type="text" name="mail" id="mail"><br>
            <input type="password" name="pass" id="pass"><br>
            <input type="submit" name="submit" id="submit" value="Insert">
        </form>


        <table id="studata">
           <?php foreach ($students as $student):?>
            <tr>
               <th>Name</th>
               <th>Email</th>
               <th>Password</th>
            </tr>
               <tr>
                <td><?php echo $student->Name;?></td>
                <td><?php echo $student->Email;?></td>
                <td><?php echo $student->Password;?></td>
            </tr>
            <?php endforeach;?>
        </table>
    </body>
    </html>


Мой код контроллера:



public function student()
    {
        $data["students"] = $this->sp->getstudent();
        $this->load->view('student',$data);
    }


моя модель:


public function getstudent()
    {
         $this->db->select('*');
        $this->db->from('ex_sp');
        $query = $this->db->get();
        return $query->result();
    }

1 Ответов

Рейтинг:
1

Richard Deeming

Цитата:
$(this).load('<?php echo base_url().'Store/student' ;?>');

Загрузите данные с сервера и поместите возвращенный HTML в соответствующий элемент.

Как вы думаете, что такое "согласованный элемент" в вашем коде? (NB: Вы можете использовать отладчик, чтобы узнать это!)

Если вы хотите заменить определенный элемент, то вам нужно сопоставить этот элемент перед вызовом load Например, для замены studata таблица с содержимым загруженного документа, используйте:
$("#studata").load('<?php echo base_url().'Store/student' ;?>');

Если страница, которую вы загружаете, возвращает весь HTML-документ, и вы хотите загрузить только определенную его часть,передайте селектор URL-адресу. Например, для замены studata таблица на текущей странице с studata таблица на загруженной странице, используйте:
$("#studata").load('<?php echo base_url().'Store/student' ;?> #studata');


msz900

все еще не работая, он загружает полные страницы вместо определенной области.

Richard Deeming

Тогда у вас, вероятно, есть ошибка в вашем коде. Используйте инструменты разработчика браузера для отладки вашего скрипта.