XMLHttpRequest fejler!.
HejJeg har gennem flere dage forsøgt at få dette til at fungere uden held og så er spørgsmålet om der er fejl i koden eller det er mig der ikke forstår hvordan dette skal bruges....
I filen test-ajax.php er koden :
<button onclick="mitArray('haven')">Haven</button>
<button onclick="mitArray('familie')">Familie</button>
<script>
function showCustomer(str) {
var xhttp;
if (str == "") {
document.getElementById("demo").innerHTML = "Tom";
return;
}
xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
document.getElementById("demo").innerHTML = this.responseText;
var ja_data = this.responseText;
console.log(ja_data);
}
};
xhttp.open("GET", "test_sql.php?q="+str, true);
xhttp.send();
}
function mitArray(str)
{ var x, txt='';
var myArr = showCustomer(str);
for (x in myArr) {
txt += myArr[x].name + "<br>";document.getElementById("demo").innerHTML = txt;
}
}
</script>
<p id="demo"></p>
I filen test_sql.php er koden:
<?php
include_once 'includes/opret_db.php';
$str = $_GET['q']; echo'<br> STR = '.$str;
$id=0; $data=[];
if(!($stmt=$mysqli->prepare('SELECT * FROM gallery WHERE orderGallery =? ')))
{ echo "<br>Prepare failed i HENT_DATA SQL <br>(".$mysqli->errno.")" .$mysqli->error;}
{ $stmt->bind_param('s',$str);}
if(!$stmt->execute())
{ echo "<br>execute failed i HENT_DATA SQL: (".$mysqli->errno.")" .$mysqli->error;}
if(!($res = $stmt->get_result()))
{ echo "<br>Getting result set failed i HENT_DATA SQL:(".$mysqli->errno.")" .$mysqli->error;}
while ($row = mysqli_fetch_array($res))
{ $data[$id]['id']=$row['id'];
$data[$id]['title']=$row['titleGallery'];
$data[$id]['desc']=$row['descGallery'];
$data[$id]['name']=$row['imgFullNameGallery'];
$data[$id]['order']=$row['orderGallery'];
$id++;
}print_r($data);
$array = json_encode($data);
echo '<br> DATA er = '.$array;
return $array;
$stmt->close();
?>
print_r($data); giver følgende:
Array ( [0] => Array ( [id] => 88 [title] => Billeder fra haven [desc] => [name] => gallery.6092af015962c.jpg [order] => haven ) [1] => Array ( [id] => 90 [title] => Billeder fra haven [desc] => [name] => gallery.6092af9076f06.jpg [order] => haven ) )
og $array = json_encode($data);
echo $array; giver følgende:
[{"id":88,"title":"Billeder fra haven","desc":"","name":"gallery.6092af015962c.jpg","order":"haven"},{"id":90,"title":"Billeder fra haven","desc":"","name":"gallery.6092af9076f06.jpg","order":"haven"}]
Hvis print_r($data); og echo $array; udkommenteres kommer der ikke noget ud på skærmen heller ikke i console.log().
Håber at der er nogen der vil hjælpe mig.
VH Thomas V