Yo me refiero a que ajax no puede cargar datos de otro servidor pero javascript sí.
El sistema es así:
1.- En el cliente se crea dinámicamente (por medio del DOM) una etiqueta script que carga javascript.
2.- El servidor devuelve javascript, en este caso una llamada a una función existente en el cliente.
Ahí va el código:
http://cliente.com/cliente.php
Código:
<script type="text/javascript">
function aviso(datos) {
alert(datos);
var body = document.getElementsByTagName("body")[0];
var scr = document.getElementById("scriptTemporal");
body.removeChild(scr);
}
function cargarDatos() {
var body = document.getElementsByTagName("body")[0];
var scr = document.createElement("script");
scr.setAttribute("type","text/javascript");
scr.setAttribute("src","http://servidor.com/servidor.php");
scr.setAttribute("id","scriptTemporal");
body.appendChild(scr);
}
</script>
<input type="button" onclick="cargarDatos()">
http://servidor.com/servidor.php Código PHP:
<?php
header("Content-Type: text/javascript");
$datos = "hola";
echo "aviso('$datos')";
?>
Lo he probado y funciona. Se entiende, no?