Wenn ich den Fall habe, dass ich mit dem selben Skript einmal die Webseite und einmal nur JSON-Daten ausliefern will, dann mach ich das in etwa so:
loadScript('ajax-nur-ein-echo.php?api=1', function(data){
console.log( "loadScript", data);
});
if ( ( ! isset( $_GET['api'] ) ) or $_GET['api'] != 1 ) {
header( 'Content-Type: text/html; charset=utf-8' );
echo "Das gehört nur zum HTML-Output";
echo "Das auch";
} else {
header( 'Content-Type: application/json; charset=utf-8' );
}
$hallo = "hallo";
$welt = "welt";
$phpResponse = array(
"hallo" => $hallo,
"welt" => $welt
);
echo json_encode( $phpResponse );