Estoy tratando de recuperar datos del archivo json usando php y quiero que estos datos se completen en una etiqueta de selección html en la parte delantera.
Aquí está mi archivo php:
<?php ini_set('display-errors', 'on'); error_reporting(E_ALL); $executionStartTime = microtime(true); $result = file_get_contents('countryBorders.geo.json'); $decode = json_decode($result,true); $output['status']['code'] = "200"; $output['status']['name'] = "ok"; $output['status']['description'] = "success"; $output['status']['returnedIn'] = intval((microtime(true) - $executionStartTime) * 1000) . " ms"; $output['data'] = $decode; header('Content-Type: application/json; charset=UTF-8'); echo json_encode($output);?>
mi archivo js principal:
$.ajax({ url: "./php/getBorders.php", type: 'POST', dataType: "json", success: function(result) { console.log(result); for (let i=0; i< result.data.border.features.length; i++) { $('#selCountry').append($('<option>', { value: result.data.border.features[i].properties.iso_a3, text: result.data.border.features[i].properties.name, })); } } });Actualmente recibo un error de que el método no está permitido. No estoy seguro de dónde estoy cometiendo un error aquí... Si alguien me puede dar un consejo, se lo agradecería mucho.
Después de verificar sus respuestas y profundizar un poco más en mi código, encontré que el código a continuación hizo el trabajo de alimentar los datos del archivo json a la etiqueta de selección html. Mi código se cortó a continuación:
$('#selCountry').click(function() { let border; let name; $.ajax({ url: "./php/getBorders.php", type: 'POST', dataType: 'json', success: function(result) { console.log(JSON.stringify(result)) for (let i=0; i< result.data.border.features.length; i++) { $option = $('<option>') .val(result.data.border.features[i].properties.iso_a3) .text(result.data.border.features[i].properties.name); $('#selCountry').append($option); } const filterData = result.data.border.features.filter((a) => (a.properties.iso_a3 === name)); border = L.geoJSON(filterData[0]); myMap.fitBounds(border.getBounds()); }, error: function(jqXHR, textStatus, errorThrown) { console.log(textStatus, errorThrown); console.log(jqXHR); } }); });