AJAX不接受带空格的数据

我有这个AJAX脚本,它将数据从DataTable传递到PHP页面,然后输出到模式。如果数据只是一个整体,例如 FINANCE / STOCK DISBURSEMENT 等,它就可以传递数据,但是如果数据是 FINANCE 1 金融2 ,等等。它显示null

此行来自我的数据表

{
                    "targets": 6,"data": "approvedby","render": function(data,type,row,meta) {
                        var table = '&nbsp;<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) ? '&nbsp<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) ? '&nbsp<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) ? '&nbsp<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 = '&nbsp;<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是否正确接受了数据。

AJAX不接受带空格的数据

现在,问题是,当我通过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,这是我的模态。

AJAX不接受带空格的数据

这是模态显示的一部分。

    <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不传递带有空格的数据的原因?

dido17 回答:AJAX不接受带空格的数据

尝试传递以下数据

 $.ajax({
            type: 'POST',url: 'human_resource_jobpositionentry_masterfile_data_row.php',data: JSON.stringify({referenceno:id}) //change 
        })

可能是因为您没有在JSON formate的后端获取ID。 希望这对您有所帮助。如果有任何问题,请告诉我。

本文链接:https://www.f2er.com/3162130.html

大家都在问