Я пытаюсь получить сообщение типа данных в контроллере, используя ajax, я пытаюсь установить прямой доступ, который приводит к тому, что данные контроллера успешно выходят из псевдонима. браузер, который заказал Uncaught SyntaxError: Unexpected tokens:
как с этим справиться?
данные, которые успешно получены через прямой веб-доступ:
{
"dataSparepartOffice":[
{
"tgl":"2019-04-16 00:00:00",
"project":"MRTJ",
"name":"Laptop",
"sn":"12345",
"qty":"5",
"Keterangan":"Penerimaan Delivery Order"
},
{
"tgl":"2019-04-16 00:00:00",
"project":"MRTJ",
"name":"Laptop",
"sn":"12345",
"qty":"1",
"Keterangan":"Pemakaian Spare Part"
},
{
"tgl":"2019-04-16 08:22:45",
"project":"MRTJ",
"name":"Laptop",
"sn":"12345",
"qty":"5",
"Keterangan":"Request Order"
}
]
}
Это моя функция в контроллере:
public function filterInOffice(){
$sparepart = $this->input->post('sparepart');
$data = $this->m_data->filterOffice($sparepart);
$callback = array(
'dataSparepartOffice' => $data,
);
echo json_encode($callback);
}
Это моя функция в моделях:
public function filterOffice($sparepart){
$this->db->select('use_sparepart.tanggal as tgl , project, stock.name, use_sparepart.sn_use as sn, use_sparepart.qty_use as qty, "Pemakaian Spare Part" as Keterangan');
$this->db->from('use_sparepart');
$this->db->join('stock', 'stock.id_stock = use_sparepart.id_stock', 'left');
$this->db->join('project', 'project.id_project = use_sparepart.id_project', 'left');
$this->db->like('name', $sparepart, 'both');
$query2 = $this->db->get_compiled_select();
$this->db->select('delivery_order.tanggal as tgl , project, spare_part.name, delivery_order.sn_do as sn, delivery_order.qty_do as qty, "Penerimaan Delivery Order" as Keterangan');
$this->db->from('delivery_order');
$this->db->join('spare_part', 'spare_part.id_sparepart = delivery_order.id_sparepart', 'left');
$this->db->join('project', 'project.id_project = delivery_order.id_project', 'left');
$this->db->like('name', $sparepart, 'both');
$query1 = $this->db->get_compiled_select();
$this->db->select('request_order.created_at as tgl, project, request_order.name, request_order.sn_ro as sn, request_order.qty_ro as qty, "Request Order" as Keterangan');
$this->db->from('request_order');
$this->db->join('project', 'project.id_project = request_order.id_project', 'left');
$this->db->where('status != 0');
$this->db->like('name', $sparepart, 'both');
$this->db->order_by("tgl", "ASC");
$query3 = $this->db->get_compiled_select();
$query = $this->db->query($query1.' UNION '.$query2.' UNION '.$query3);
return $query->result();
}
Это мои взгляды:
<tbody class="Office" id="show_dataaa">
<?php if (!empty($dataSparepartOffice)) {
$no = 1;
foreach($dataSparepartOffice as $key){
?>
<tr>
<td style='text-align: center'><?= $no++ ?></td>
<td style='text-align: center'><?= $key->tgl ?></td>
<td style='text-align: center'><?= $key->name ?></td>
<td style='text-align: center'><?= $key->sn ?></td>
<td style='text-align: center'><?= $key->qty ?></td>
<td style='text-align: center'><?= $key->Keterangan ?></td>
</tr>
<?php } } else {?>
<tr>
<td style='text-align: center' colspan="6"><?= 'No Data in database' ?></td>
</tr>
<?php } ?></tbody>
это мой JS:
<script>
$(document).ready(function() {
$("#btnSubmitOffice").click(function(){
$(this).html("SEARCHING...").attr("disabled", "disabled");
$.ajax({
url : <?php echo base_url('Control/filterInOffice') ?>,
type : 'POST',
data : { sparepart : $("#sparepartInput").val() },
dataType: 'JSON',
beforeSend: function(e) {
if(e && e.overrideMimeType) {
e.overrideMimeType("application/json;charset=UTF-8");
}
},
success: function(response){
console.log(response);
$("#btn-btnSubmitOffice").html("SEARCH").removeAttr("disabled");
$("#show_dataaa").html(response.hasil);
},
error: function (xhr, ajaxOptions, thrownError) {
alert(xhr.responseText);
}
});
});
});
</script>
которую я хочу, чтобы данные занесли в таблицу, которую я предоставил в представлении