Ответ с обработчика обратно в ajax приходит с пробелом

Проблема в том, что при отправке ajax запроса на обработчик (отдельный php файл), приходит нужный ответ только с пробелом. Раньше такого не было, может это небольшая ошибка в самом коде или что-то не так, но раньше ответы приходили без отступа. То есть я отправляю запрос на получение допустим новой картинки капчи на сайт. В обработчике создаётся картинка и отправляется в определённую папку в проекте, а в это время после успешной операции в функции php должно быть написано: 'successfuly', по итогу приходит ' successfuly'. В коде ничего не менял, но стал приходить ответ с этим пробелом. Возвращаю ответ на ajax через функцию success: в аргументе function(data), в обработчике в конце кода пишу die('successfuly');.

Отрывок из кода:

JS

$.ajax({
    url: "db/requestAccepts.php",
    type: "POST",
    cashe: false,
    data:{
        request_captcha: 1,
        answer: answer
    },
    success: function(data) {
        // data = data.trim();  для получения нормального ответа теперь приходится использовать эту функцию, чтобы убрать пробел впереди. Раньше приходило без пробела

        if (data == 'successfuly') { // Если не использовать функцию .trim(), конструкция if вернёт false так как ответ содержит другие символы, в данном случае это какой-то пробел впереди
            console.log(data); // Всё правильно
        }else{
            console.log(data); // неправильно
        }
    }
}

PHP (обработчик)

if ($_POST) {

    /* ПОДКЛЮЧЕНИЕ К БАЗЕ ДАННЫХ САЙТА */
    require_once 'dbConnect.php';

    /* Проверка ответа на капчу сайта */
    if (isset($_POST['request_captcha'])) {
        if($_POST['answer'] == $_SESSION['answerCaptcha']) {
            $_SESSION['captcha'] += 1; // Прибавляем в сессию единицу запроса капчи для подсчёта количества запросов
            if ($_SESSION['captcha'] > 3) {
                if (isset($_SESSION['user'])) {
                    /* Пользователь авторизован */
                    $editUser = R::findOne('users', 'id = ?', [$_SESSION['user']['id']]);
                    $editUser->blocked_captcha = 1;
                    R::store($editUser);
                    die('toManyRequests'); // Слишком много запросов капчи
                }else{
                    /* Пользователь не авторизован */
                    $_SESSION['blocked_user_spam'] = 1;
                    die('toManyRequests'); // Слишком много запросов капчи
                }
            }else{
                die('successfully');
            }
        }else{die('notSuccessfully');}
    }
}

Ответы (2 шт):

Автор решения: Eugene X

Копай файл require_once 'dbConnect.php'; и всё что заинклюдил.

И ещё... <?php должен быть в самом начале файла и ?> не надо делать в конце - это дозволительно.

И ещё... Поверь кодировку файла, если у тебя UTF-8 то проверь все файлы на наличие UTF8-BOM!

Редакторы не показывают этих 2 невидимых символа... А Они есть!

→ Ссылка
Автор решения: priveted JX

Попробуйте использовать echo вместо die(); Или еще лучше и удобнее если нужно передать несколько значений, вывод в JSON формате

echo json_encode(
    array(
        "result" => "successfully"
        //Тут можно дописать доп. параметры через запятую которые вернет data
        //"test" => "hello", "a" => 1 
    )
);

А для результата на стороне JS

   success: function(data) {
        if (data.result == 'successfuly') {
            log(data.result); 
        }
   }

Этот вариант с большой вероятностью решит вашу проблему.

→ Ссылка