403 запрещена ошибка при открытии всплывающего окна ajax codeigniter - PullRequest
0 голосов
/ 14 января 2020

У меня есть всплывающая форма, которая получает результат журнала из базы данных. Когда я нажимаю на всплывающую ссылку, у меня появляется эта ошибка POST 403(forbidden)

Я попытался вставить запрос CSRF в файл js, но он не работает.

Это ссылка всплывающее модальное

 <a data-toggle="modal" href="#myHistory" id="<?php echo $id; ?>" data-value="<?php echo $assigned; ?>">History</a>

Вот код вида

<script type="text/javascript">
$('a[href="#myHistory"]').on('click',function(){
var id = $(this).attr('id');
var company = $(this).attr('data-value');
var csrf = "<?php echo $this->security->get_csrf_hash(); ?>";
console.log(csrf);

$.ajax({
    type : "POST",
    url  : "<?php echo admin_url().'log/get_history'; ?>",
    data : {id:id, csrf:csrf},
    success : function(data){
        var data = JSON.parse(data);
        var html = '';
        var i;
        for(i=0; i<data.length; i++){
            //console.log(data[i].description);
            html += '<tr>'+
                        '<td>'+data[i].description+'</td>'+
                        '<td>'+data[i].date+'</td>'+
                    '</tr>';
        }
        $('#show_data').html(html);
    }
  })
 })
 </script>


        <div class="modal-body">
            <table id="example" class="table table-striped table-bordered dt-responsive nowrap" style="width:100%">
                <thead>
                    <tr>
                        <th>Description</th>
                        <th>Time</th>
                    </tr>
                </thead>
                <tbody id="show_data">

                </tbody>
            </table>
        </div>

Вот код контроллера

public function get_history(){
    $id=$this->input->post('id');
    $csrf = $this->input->post('csrf');
    $data=$this->log_model->get_history_by_id($id,$csrf);
    echo json_encode($data);
}

Вот код модели

public function get_history_by_id($id,$csrf)
{
    $hsl=$this->db->query("SELECT * FROM tbl_log WHERE company='$id'");
    if($hsl->num_rows()>0){
        foreach ($hsl->result() as $data) {
            $hasil[]=array(
                'description' => $data->description,
                'date'        => $data->date,
                'token'       =>$csrf,
            );
        }
    }
    return $hasil;
}

Do Вы знаете, что мне нужно исправить это?

Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...