JavaScript - SELECT DEPENDIENTE MODELO MVC

 
Vista:

SELECT DEPENDIENTE MODELO MVC

Publicado por Cristhian Kasco (1 intervención) el 25/08/2023 23:05:11
Hola con todos espero me puedan dar la mano tengo un problema con un select dependiente la estructura es cargo el select provincias y dependiendo del select provincias se cargan los cantones al momento he agregado el siguiente javascript:

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
29
provincia.addEventListener("change", function (e) {
    const url = base_url + "clientes/obtenerCantones";
    //hacer una instancia del objeto XMLHttpRequest
    const http = new XMLHttpRequest();
    //Abrir una Conexion - POST - GET
    http.open("POST", url, true);
    http.send(
      JSON.stringify({
        provincia: provincia.value
      })
    );
    //verificar estados
    http.onreadystatechange = function () {
      if (this.readyState == 4 && this.status == 200) {
        const res = JSON.parse(this.responseText);
        let html = "";
        html += "<select id='canton' name='canton'><option value='0'>SELECCIONE</option>";
        console.log(res.cantones.length);
        if (res.cantones.length >= 0) {
          res.cantones.forEach((canton) => {
          html += `<option value="${canton.id}">${canton.canton}</option>`;
          });
        }
        html += "</select>";
        canton.innerHTML = html;
      }
    };
  });
});
en el controlador tengo esto:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public function obtenerCantones()
    {
        $array["cantones"] = array();
        if (isset($_POST['provincia'])) {
            $id_provincia = strClean($_POST['provincia']);
            $data = $this->model->getCantones($id_provincia);
            for ($i = 0; $i < count($data); $i++) {
                $result['id'] = $data[$i]['id'];
                $result['canton'] = $data[$i]['canton'];
                array_push($array["cantones"], $result);
            }
        }
        echo json_encode($array, JSON_UNESCAPED_UNICODE);
        die();
    }
y en el modelo tengo:
1
2
3
4
5
public function getCantones($id_provincia)
    {
        $sql = "SELECT * FROM cantones WHERE id_provincia = '$id_provincia'";
        return $this->selectAll($sql);
    }

EL ASUNTO ES QUE INGRESA AL CONTROLADOR PERO AL PARECER ME RETORNA UN ARRAY VACIO
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 Alejandro
Val: 1.448
Plata
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

SELECT DEPENDIENTE MODELO MVC

Publicado por Alejandro (532 intervenciones) el 30/08/2023 17:29:08
  • Alejandro se encuentra ahora conectado en el
  • chat de PHP
Mira en el inspector que estas enviando, me parece que te falta agregar el encabezado.
1
http.setRequestHeader("Content-Type", "application/json;charset=UTF-8");
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