Parece que hemos avanzado algo, he eliminado la etiqueta meta y en su lugar he puesto el código que me has detallado, el archivo PHP que tengo en el servidor me queda así.
Código HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<?php header('Content-Type: application/json; charset=utf-8');?>
<head>
<title>Servidor</title>
</head>
<body>
<?php
echo json_encode(array("mensaje"=>$_GET["Dato"]));
?>
</body>
</html>
Antes con la etiqueta meta, si acaso leia algo de la respuesta del servidor era un archivo el texto html, pero ahora con esta modificación ya no me envía el texto html. Pero sigue sin madarme la respuesta JSON.
Pongo de nuevo el código del scrip ya que he podido modificar algo y lo mismo tengo ahora un error pero no creo.
Código:
$.ajax({
url: 'http://localhost/Mensaje.php',
type: 'GET',
data: 'Dato=Hola mundo!',
dataType: 'json',
success:muestramensaje,
});
function muestramensaje(respuesta){
alert("Mensaje:" + respuesta.mensaje);
}