添加某些函数时,PHP不会向AJAX返回任何内容

添加某些函数时,PHP不会向AJAX返回任何内容,php,ajax,Php,Ajax,我很困惑,当我添加解密函数时,我的PHP不会向AJAX返回任何内容 我的PHP文件: $key = "Secret Key"; function decryptthis($data, $key) { $encryption_key = base64_decode($key); list($encrypted_data, $iv) = array_pad(explode('::', base64_decode($data), 2), 2, null); decryptthi

我很困惑,当我添加解密函数时,我的PHP不会向AJAX返回任何内容

我的PHP文件:

$key = "Secret Key";
function decryptthis($data, $key)
{
    $encryption_key = base64_decode($key);
    list($encrypted_data, $iv) = array_pad(explode('::', base64_decode($data), 2), 2, null);
    decryptthis($encrypted_data, 'aes-256-cbc', $encryption_key, 0, $iv);
}

session_start();
$user = $_SESSION['username'];
$bulan = $_POST['bulan'];
$tahun = $_POST['tahun'];
$res = array();

$result = mysqli_query($con, "select * from tb_payslip where NIP ='$user' AND bulan='$bulan' AND tahun='$tahun'");
$rowCheck = mysqli_num_rows($result);
if ($rowCheck > 0) {
    while ($row = mysqli_fetch_array($result)) {

        $res['cabang'] = $row['cabang'];
        $res['NIP'] = $row['NIP'];
        $res['u_gaji_pokok'] = decryptthis("$row[u_gaji_pokok]", $key);//When i added this function wont return anything
        $res['bulan'] = $row['bulan'];
        $res['tahun'] = $row['tahun'];
        $res['response'] = "ok";
    }
}

echo json_encode($res);
我的AJAX将返回结果:

$("#generate-payslip").click(function (e) {
    e.preventDefault();
    $.ajax({
        type: 'POST',
        url: 'generate-payslip.php',
        data: $('.form-pdf').serialize(),
        dataType: 'json',
        success: function (resp) {
            if (resp.response == "ok") {

                $('#payslip-title').html("SLIP GAJI " + returnbulan(resp.bulan) + " " + resp.tahun);
                $("#cabang").html(resp.cabang);
                $('#u_gaji_pokok').html(resp.u_gaji_pokok);
            }
        })
当我运行代码时,AJAX将不返回任何内容,但是当我删除此函数的解密代码时,AJAX将按预期返回所有结果


请帮帮我,我真的很困惑,为什么in不起作用

你的无限循环就在那里。
decrypthis()
正在调用自身


去掉里面的那个,你应该会没事的。

你有一个无限循环。
decrypthis()
正在调用自身


移除内部的一个,你应该会没事。

当你有了这个函数时,你是遇到了500个错误还是什么?等等,这会创建一个无限循环,递归调用decryptthis forverno状态码返回200/ok decryptthis永不返回。它只是将自己称为最后一条指令,并将一直这样做,直到堆栈用完;s终于开始工作了,这真的是一个令人尴尬的错误。当你有了这个函数时,你真的遇到了500个错误吗?等等,这会创建一个无限循环递归调用decryptthis foreverNo状态码return 200/OK decryptthis永不返回。它只是将自己称为最后一条指令,并将一直这样做,直到堆栈用完;最后,这真的是一个令人尴尬的错误——避免将以前的评论作为答案发布,这样做只会使无用的“打字错误”问题更难解决——避免将以前的评论作为答案发布,这样做只会使无用的“打字错误”问题更难解决