Soy bastante nuevo en esto. Estoy intentando lo siguiente. Tengo un menú desplegable de selección de entrada en productionCalculator.php. Cada vez que cambia la entrada, llamo a una función js. Esta función necesita una matriz de un archivo php. Ya aprendí mucho (como si tuviera que usar include a diferencia de require fe) pero el único "valor" que obtengo es nulo. Cuando defino una variable de cadena directamente en el archivo php llamado, funciona, pero si accedo a la matriz en el otro php, el valor devuelto es nulo. Y no puedo llamar directamente al archivo php de matriz, porque echo escribiría el resultado en el sitio. Estoy realmente atascado. Por favor ayuda, se los agradezco mucho.
Hay 4 archivos involucrados:
La selección en productionCalculator.php
<body> <img src="https://images.evetech.net/types/1002/bp" id="bpoImage"> <select name="bpoDropdown" id="bpoDrop" onchange="SetBpoImage()"> <?php foreach ($blueprintDict as $key => $value) { ?> <option value=<?php echo $key?>><?php echo $key?></option> <?php } ?> </select> </body>La función js a la que se llama, cuando cambia el menú desplegable. Este es un archivo .js
function SetBpoImage() { var e = document.getElementById("bpoDrop"); var index = e.selectedIndex; var req = new XMLHttpRequest(); req.onload = function() { console.log(this.responseText); }; req.open("get", "assets/getBlueprintDict.php", true); req.send(); }El getBlueprintDict.php
<?php require("assets/blueprintDict.php"); echo json_encode($blueprintDict); ?>Y el blueprintDict.php que necesito en la función js.
<?php $blueprintDict=array( "Typhoon" => 1, "Dominix" => 2, "Erebus" => 3, "Small Shield Extender I" => 4, "Survey Scanner I" => 5, ); ?>