Hallo,
ich habe jetzt versucht ein erstes "Probescript" mit JS-fetch und PHP zu testen. Damit die gesendeten Daten nicht sichtbar in der Adresszeile stehen, sende ich mit post.
JS fetch sendet ein json an das php-cgi-script und diese sendet das gleiche wieder an JS zurück.
Fehler im catch: There was an error SyntaxError: JSON.parse: unexpected character at line 1 column 1 of the JSON data
const data = await response.json();
async function refreshData()
{
let meinObjekt = {
"name": "Max Mustermann",
"alter": 30,
"istAktiv": true,
"hobbies": ["Lesen", "Programmieren", "Wandern"]
};
try
{
const response = await fetch("loadvalue.php",
{
method: 'POST',
header: 'Content-Type: application/json; charset=UTF-8',
body: JSON.stringify(meinObjekt),
});
if (response.ok) {
const data = await response.json();
console.log(data.name);
}
}
catch (error)
{
// TypeError: Failed to fetch
console.log('There was an error', error);
}
}
PHP: loadvalue.php
#!/usr/bin/php-cgi
<?php
$json_string = file_get_contents('php://input');
$data = json_decode($json_string, true);
// caching verhindern
header('Cache-Control: no-cache');
header("Expires: 0");
header('Pragma: no-cache');
//header("ETag: \"" . (new DateTimeImmutable())->format('c') . "\"");
header('Content-Type: application/json; charset=UTF-8');
echo json_encode($data);
Hier komme ich leider nicht weiter, bzw. sehe das Problem nicht 🤔
Vielen Dank !!