I'm trying to filter a json array based on a value from a url and get the vernacularName
attribute.
In the F12 debugging I can put record[0].vernacularName;
and it gives me the correct variable, but still the below code fails.
document.getElementById("demo").innerHTML = datasetID;
works but document.getElementById("demo").innerHTML = vernacularName;
does not.
Ultimately I want to add vernacularName as a session variable
<body>
<div class="">
<h3>testing data</h3>
<p id="demo" class = 'pl-5'></p>
</div>
<script type="text/javascript">
const queryString = window.location.search;
const urlParams = new URLSearchParams(queryString);
const species = urlParams.get('species')
const bone = urlParams.get('bone')
const datasetID = urlParams.get('datasetID')
var data;
$.getJSON("json/data.json", function(json){
data = json;
});
record = data.filter(r => r.datasetID == datasetID);
var vernacularName = record[0].vernacularName;
// const vernacularName2 = record.vernacularName;
$_SESSION["v"] = vernacularName;
</script>
<script>
document.getElementById("demo").innerHTML = vernacularName;
</script>