Buenas gente, estoy empezando con ajax y tengo un problema al intentar pasar una consulta que hago en php a una pagina html que lo muestra.
Codigo php que hace la consulta:

Código PHP:
    public static function traerServicios() {
        
        
$conexion = new Conexion();
        
$consulta $conexion->prepare('SELECT * FROM ' self::TABLA ' ORDER BY codigo DESC');
        
$consulta->execute();
        
$registros $consulta->fetchAll(PDO::FETCH_ASSOC);
        return 
$registros;
    } 
Este es otro archivo que brinda los "servicios" a mi index: el index le pasa una variable por POST y dependiendo del valor de esa variable hace una cosa u otra:
Código PHP:
<?php
    header
('Content-type: application/json'); 
    
error_reporting(E_ALL);
    
ini_set("display_errors"1);
    
$accion $_POST['accion'];
    
date_default_timezone_set("America/Buenos_Aires");
    
$fecha date('Y-m-d');
    include_once 
'../../php/Servicio.php';

    function 
imprimirTabla(){
        
$servicios Servicio::traerServicios();
        echo 
json_encode($servicios);
    }
    switch(
$accion){
        case 
"nuevoServicio":
            
            echo 
"nuevoServicio";
        break;
        case 
"######":
                echo 
"##########";
        break;
        case 
"traerServicios":
            
imprimirTabla();
        break;
    }
?>
y bueno este es mi index que envia la variable al php "servicios" la idea es obtener el Array e imprimir en la tabla pero no lo logro hacer....

Código HTML:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//ES">
<html>
    <head>
        <title>#######</title>
        <meta charset="UTF-8">
        <script type='text/javascript' src="http://code.jquery.com/jquery-1.11.1.min.js"></script>
        <script type="text/javascript" language="javascript" src="js/modulos/global.js"></script>
        <link href="css/estilo.css" rel="stylesheet" type="text/css">
        <link href="css/estiloSistema.css" rel="stylesheet" type="text/css">
        <script>
            //////////////////////////LOAD DE TABLA/////////////////////////
            $(function (){
                var url ="php/servicios/Servicio.php";
                var tabla ="";
                $(document).on("ready",function(){
                   $.ajax({
                       type: 'POST',
                       data: 'accion=traerServicios',
                       url: url,
                       dataType: 'json',
                       success: function (data) {
                            res = eval( '(' + data + ')' );
                            
                            alert(res);
                       },
                       error: function(jqXHR, textStatus, error) {
                       alert( "error: " + jqXHR.responseText);
                       }
                   });
                   return false;
                });
                $("#btnNuevoServicio").click(function(){
                    $.ajax({
                    type: 'POST',
                    url: url,
                    data: $("#frmNuevoServicio").serialize(),
                    success: function (data) {
                         $("#bodyTabla").html(data);
                    }
                   });
                   return false;
                });
                $("#editarServicio").click(function(){
                   alert("fsdkfñlsdfkñsdlfkñdslkfñldskf");
                });
                
                
            })
        </script>
    </head>
    <body>
el alert(res) que tengo ahi es para ver si imprime algo o si hace algo pero no hace nada... nose en que me estoy equivocando. este es el echo del echo json_encode($servicios);

[{"codigo":"7","nombre":"gggggggggggg","descripcion ":"gggggggggggggg","fecha":"2014-10-17","usuario":"1","imagen":"sdasdasd"},{"codigo":" 6","nombre":"zxczxczxczx","descripcion":"czxczxczx c","fecha":"2014-10-17","usuario":"1","imagen":"sdasdasd"},{"codigo":" 5","nombre":"wwwwwwwwwwwww","descripcion":"wwwwwww www","fecha":"2014-10-15","usuario":"1","imagen":"sdasdasd"},{"codigo":" 4","nombre":"qweqwewqe","descripcion":"qweqweqwe", "fecha":"2014-10-09","usuario":"1","imagen":"sdasdasd"},{"codigo":" 3","nombre":"uno nuevo","descripcion":"fffffffffffffff","fecha":"20 14-10-09","usuario":"1","imagen":"sdasdasd"},{"codigo":" 2","nombre":"uno nuevo","descripcion":"Este es el nuevo","fecha":"2014-10-09","usuario":"1","imagen":"sdasdasd"},{"codigo":" 1","nombre":"aaaaaaa","descripcion":"sssssssssssss sssssssssssssss","fecha":"2014-10-09","usuario":"1","imagen":"sdasdasd"}]

La verdad que estoy ya hace un monton de tiempo intentando hacer funcionar esto, si exito aún!
antes en el archivos de servicio hacien la tabla y la imprimia como String y en el index la recibia asi:
success: function (data) {
$.("tabla").html(data)
}
y bueno ahi si funcionaba, pero prefiero generar la tabla en el index y no en el archivo de php y por ultimo la consola de firefox me dice esto:
SyntaxError: missing ] after element list ##########.php:1

Espero que me puedan ayudar y que haya expresado bien! Saludos! y muchas gracias de antemano! :)