llamar archivo .php desde una función javascript
Publicado por Daniel (15 intervenciones) el 07/03/2021 17:18:53
Hola, con el objetivo de presentar datos provenientes de una base de datos en una lista “Select” creé una función javascript (para poder rellenar el Select) la cual tiene dentro de sí misma código php (para poder hacer la consulta a la base de datos), el problema que se presenta es que cuando llamo al archivo de conexión ‘include (“conexión.php”);’ aparece el error “Uncaught SyntaxError: expected expression, got '<'” haciendo referencia a otra parte del código fuera de la función en cuestión. El problema “se resuelve” cuando se reemplaza la linea include (“conexión.php”); por todo el código que está en el archivo “conexión.php”, es decir, es como si el problema fuera el llamar a un archivo php con código php dentro de una función javascript. Dado que quisiera conservar los datos de conexión en el archivo “conexión.php” y no tenerlos dentro de la función javascript quería preguntarles si hay forma de llamar a un archivo .php desde javascript o que estoy haciendo incorrecto. Dato adicional: la función javascript está en un archivo .php . El código en cuestión es el siguiente (de momento no está llenando el Select, está presentando los datos con “console.log” pero eso no es inconveniente):
Gracias y saludos.
Daniel
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
30
31
32
33
34
<script>
//AL HACER CLICK EN EL BOTON SE LLAMA A LA FUNCION presentar3()
document.getElementById("btn_add").onclick= function(){
presentar3();
}
//EMPIEZA LA FUNCION presentar3()
function presentar3(){
// INICIA EL CODIGO PHP DENTRO DE LA FUNCION javascript
<?php
//ESTA LINEA ES LA QUE PRESENTA EL ERROR
include("conexion.php");
$consulta= "SELECT * from ciudades";
$resultado= $pdo-> prepare ($consulta);
$resultado->execute();
foreach($resultado->fetchAll() as $row){
$id_ciudad=$row['id_ciudad'];
$ciudad= $row['ciudad'];
echo "var javaciudad = '$ciudad';";
?>
//CIERRE TEMPORAL DE PHP PARA PRESENTAR DATOS
console.log(javaciudad);
//REAPERTURA DE PHP
<?php
}
$resultado->closeCursor();
$resultado=null;
$pdo = null;
?>
}</script>
Gracias y saludos.
Daniel
Valora esta pregunta


0