У меня есть этот AJAX-скрипт, который передает данные из DataTable на страницу PHP, а затем выводится на модальный режим. Он может передавать данные, если это всего лишь целый мир, например FINANCE / STOCK , DISBURSEMENT и т. Д., Но если данные имеют вид FINANCE 1 , FINANCE 2 и т. Д. Он показывает null
.
Эта строка из моей таблицы данных
{
"targets": 6,
"data": "approvedby",
"render": function(data, type, row, meta) {
var table = ' <button class="btn btn-default btn-sm preview btn-flat" data-id=' + row['department'] + ':' + row['jobposition'] + '><i class="fa fa-eye"></i> Preview</button>';
table += ((data == null) ? ' <button class="btn btn-success btn-sm edit btn-flat" data-id=' + row['department'] + ':' + row['jobposition'] + '><i class="fa fa-check-square-o"></i> Edit</button>' : '');
table += ((data == null) ? ' <button class="btn btn-warning btn-sm approve btn-flat" data-id=' + row['department'] + ':' + row['jobposition'] + '><i class="fa fa-check-square-o"></i> Approve</button>' : '');
return table += ((data == null) ? ' <button class="btn btn-danger btn-sm delete btn-flat" data-id=' + row['department'] + ':' + row['jobposition'] + '><i class="fa fa-check-square-o"></i> Delete</button>' : '');
}
}
Я попытался вывести код, чтобы увидеть, действительно ли он принимаетданные, и это делает.
var table = ' <button class="btn btn-default btn-sm preview btn-flat" data-id=' + row['department'] + ':' + row['jobposition'] + '><i class="fa fa-eye"></i> ' + row['department'] + ':' + row['jobposition'] + ' Preview</button>';
Это изображение из моей DataTable. Как видите, я могу четко проверить, что данные принимаются правильно из dataTable.
Теперь проблема в том, что яПередав эти данные через AJAX, он не принимает данные, потому что у него есть пробел.
<script>
$("body").on('click', '.preview', function (e){ // standard view
e.preventDefault();
var id = $(this).data('id');
$.ajax({
type: 'POST',
url: 'human_resource_jobpositionentry_masterfile_data_row.php',
data: {referenceno:id}
}).done(function(d){
console.log('d: '+d);
$('#jobpositionentry_masterfile_modal_loader').html(d);
$('#jobpositionentry_masterfile_modal_loader').show();
});
});
</script>
Показывает null
, это из моего режима.
Эта часть модальной части, где она отображается.
<div class='form-group'>
<label for='add_idno' class='col-sm-3 control-label'>Series No.</label>
<div class='col-sm-9'>
<div id="jobpositionentry_masterfile_modal_loader">
</div>
</div>
</div>
Эти данные взрываются здесь.
<?php
include 'backend/conn.php';
//include 'backend/session.php';
if(isset($_POST['referenceno'])){
$id = $_POST['referenceno'];
$forexplode=explode(':',$id);
echo $departmentexplode = $forexplode[0];
echo $jobpositionexplode = $forexplode[1];
$sql = "SELECT * FROM hrdjobpositionentry WHERE department LIKE '%$departmentexplode%' AND jobposition LIKE '%$jobpositionexplode%'";
$query = sqlsrv_query($conn, $sql, array(), array("Scrollable" => SQLSRV_CURSOR_KEYSET));
$row = sqlsrv_fetch_array($query, SQLSRV_FETCH_ASSOC);
echo json_encode($row);
}
?>
Могу ли я узнать причину, по которой AJAX не передает данные с пробелом?