У меня есть всплывающая форма, которая получает результат журнала из базы данных. Когда я нажимаю на всплывающую ссылку, у меня появляется эта ошибка 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 Вы знаете, что мне нужно исправить это?
Спасибо