Antwort an „der henry“ verfassen

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 !!

freiwillig, öffentlich sichtbar
freiwillig, öffentlich sichtbar
freiwillig, öffentlich sichtbar

Ihre Identität in einem Cookie zu speichern erlaubt es Ihnen, Ihre Beiträge zu editieren. Außerdem müssen Sie dann bei neuen Beiträgen nicht mehr die Felder Name, E-Mail und Homepage ausfüllen.

abbrechen