AJAX - Respuesta del ajax no codifica consulta a string

 
Vista:
Imágen de perfil de cristian

Respuesta del ajax no codifica consulta a string

Publicado por cristian (11 intervenciones) el 09/03/2017 17:38:32
Estoy usando ajax ,phpMVC,my sql y tuve que hacer una consulta por ajax a my sql , en el archivo entidad base
Entidad base:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public function getSolicitante($cedula_actual)
    {
       $query = $this->db->query("SELECT persona.nombre FROM persona WHERE persona.cedula =".$cedula_actual);
 
 
        $resultSet = null;
 
 
        while ($row = $query->fetch_object()) {
            $resultSet[] = $row;
        }
 
        return json_encode($resultSet);
 
    }
Esta recibiendo cedula_actual que es el valor del input.

La respuesta esta se devuelve a siteController.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
public function getName_solicitante() {
 
 
        $resp = array(
            "success" => false,
            "message" => "Error en el llamado AJAX",
            "name" => NULL
            );
        if (isset($_GET["cedula"])) {
            $cedula_actual = $_GET["cedula"];
 
            $entrada = new entrada($this->adapter);
            $name = $entrada->getSolicitante($cedula_actual);
       if($name=="null")
      {
 
          $resp = [];
      }
 
 else { $resp = [
       "success"=>true,
        "name"=>"$name",];
}
      }
 
       echo json_encode($resp);
 
    }

en la variable name esta llegando esto
[{"nombre":"crisntian camilo persona"}]
deberia llegarme solo el resultado de la consulta,sin el nombre del campo y ese viaje de comillas ,
si la respuesta es correcta me lo envia a un js de ajax con la variable resp de ajax
ese array resp esta llegando asi al js segun un echo que hice

{"success":true,"name":"[{\"nombre\":\"crisntian camilo persona\"}]"}

si hago un print me dice



Notice: Array to string conversion in C:\xampp\htdocs\Tecniamsa_MVCPOO\controller\siteController.php on line 69
Array


en el js lo proceso asi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
if(cedula_actual !=="")
        { $.get(
            "index.php?controller=site&action=getName_solicitante",
        {
                cedula:cedula_actual
         },
 
            function (resp) {
 
                    if (resp.success)
                    {
 
 
                      $("#nombre_salida").html(resp.name);
 
                    }
                    else
                    {
                document.salida.cedula.value = "";
                   (alertify.error('Esta Persona no existe'));
                    }
 
                },
            "json"
        );
        }
y me imprime en el html en el campo nombre_salida asi [{"nombre":"crisntian camilo persona"}] no se como hacer para quitar todo el resto y me deje la variable del nombre de la persona.
ayuda gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de kip
Val: 33
Ha mantenido su posición en AJAX (en relación al último mes)
Gráfica de AJAX

Respuesta del ajax no codifica consulta a string

Publicado por kip (10 intervenciones) el 09/03/2017 17:48:00
Hola, puedes colocar el contenido de la funcion getSolicitante() que retorna el valor a la variable $name ?

Ademas de eso podrias intentar lo siguiente:

1
2
3
4
if (resp.success) {
     var resp_name = $.parseJSON(resp.name)
     $("#nombre_salida").html(resp_name[0].nombre);
 }
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de cristian

Respuesta del ajax no codifica consulta a string

Publicado por cristian (11 intervenciones) el 09/03/2017 17:58:31
Eres un genio ,muchas gracias por u colaboracion
1
2
3
4
5
6
7
if (resp.success)
                    {
 
 
                      var resp_name = $.parseJSON(resp.name)
     $("#nombre_salida").html(resp_name[0].nombre);
                    }

funciono perfecto
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar