Siempre aterrizo en la función de error en ajax, ¿cuál es el problema aquí?

Quiero recuperar una URL de img almacenada en la base de datos y agregarla usando jquery para mostrar mi galería de imágenes. Pero antes de poder hacer algo de esto, tengo que asegurarme de que siempre aterrice en la función de éxito, pero siempre aterrizo en la función de error ... así que no puedo continuar y estoy atascado aquí,

Actualizar:

Verifique la consola, dice SyntaxError: missing: after property id en success: function (result)

Mi guión:

    function load_contents(track_page)
    {
        $('#loading').show();

        $.ajax({
            url:'<?php echo base_url('gallery/load_design');?>',
            type:'GET',
            dataType:'json',
            success:function(result)
            {
                alert("success");
            },
            error:function()
            {
                alert("failed"); //it always show the alert failed.

            }
        });
    }

Mi controlador:

function load_design()
{
    $this->load->model('design');
    $this->load-model('profile');

    $user_id = $this->profile->retrieve_userid();

    $json = $this->design->load_gallery($user_id->id);
    echo json_encode($json);
}

Mi modelo:

    function load_gallery($user_id)
    {
        $query = $this->db->query("SELECT * from designs WHERE user_id = '".$user_id."' LIMIT 9");
        return $query->result_array();
    }
-1
pidrowlist 16 ene. 2017 a las 22:15

2 respuestas

Aterrizará en la función de éxito cuando el servidor le responda con el estado http 2xx.
Si siempre aterriza en la función de error, tiene un error en codeigneter.
Intente obtener el estado http de su servidor (la consola del navegador lo ayudará) y le ayudará a comprender dónde está el problema.

0
Alex K. 16 ene. 2017 a las 22:46
Dice SyntaxError: missing: after property id on success: function (result)
 – 
pidrowlist
16 ene. 2017 a las 22:52

Deberías crear la primera variable global en el pie de página.

var base_url = "<?= base_url(); ?>";

Y ahora necesitas usar así

function load_contents(track_page)
    {
        $('#loading').show();
        var ref = new Date(); 
        var url = base_url + "gallery/load_design?=" + ref.getTime();
        $.ajax({
            url:url,
            type:'GET',
            cache: false,
            success:function(result)
            {
                alert("success");
            },
            error:function()
            {
                alert("failed"); //it always show the alert failed.

            }
        });
    }
0
Urshit Sheth 21 jun. 2017 a las 10:01