ajax – Problema al crear cookie en PHP y JQuery

En mi archivo index.php tengo esto:

<script>
function logear()
{   
    var correo = $("#correoVal").val();
    var password = $("#passwordVal").val();
    
    $("#btn_login").attr('disabled','disabled');
    
    $.ajax({
        url: "includes/acciones/usuario/login.php",
        data: "correo=" + correo + "&password=" + password,
        type: "POST",
        beforeSend: function(){
            $(".img-carga").removeClass("ocultar");
        },
        success: function(data){
            if(data < 3)
            {
                if(data == 1)
                    window.location.href = "docente.php";
                else
                    window.location.href = "alumno.php";
            }
            else if(data == 3)
            {
                Swal.fire('Correo incorrecto', '', 'error');
                $("#btn_login").attr('enabled','enabled');
                $(".img-carga").addClass("ocultar");
            }
            else
            {
                Swal.fire('Contraseña incorrecta', '', 'error');
                $("#btn_login").attr('enabled','enabled');
                $(".img-carga").addClass("ocultar");
            }
        }
    });
}
</script>

y en mi archivo login.php tengo esto:

<?php
include_once("../../clases/class.Usuario.php");

extract($_POST);
# correo
# password

sleep(10);

$usuario = Usuario::getUsuario(trim($correo));

if(is_array($usuario))
{
    $password = htmlspecialchars(trim($password));
    
    if(password_verify($password, $usuario("password")))
    {
        setcookie("id_usuario", $usuario("id_usuario"), time() + 31536000); 
                    
        session_start();
        $_SESSION("id_usuario") = $usuario("id_usuario");
                  
        session_write_close();
        
        echo $usuario("status");
    }
    else
        echo 4;
}
else
    echo 3;
?>

El problema es que no quiere crearme la cookie, la variable de sesión si la crea pero la cookie no, cual es el problema?