24/07/2012, 03:32
|
| | | Fecha de Ingreso: junio-2012
Mensajes: 536
Antigüedad: 12 años, 6 meses Puntos: 127 | |
Respuesta: ajax cross domain crossDomain utiliza JSONP por lo que async debe ser false, el tipo de datos a recibir ha de ser JSONP por lo que
dataType: "jsonp"
el servidor ha de responder con una respuesta JSON válida y además incluir el callback. El callback es un código que se envía junto a la petición, en jquery el código se envía automáticamente mediante ?callback=? donde ? será el código, eso significa que el script php tendrá que dar como salida, además del JSON válido, el callback recibido.
callback(textoJSON)
que en otras palabras es
echo $_GET['callback']."(".$textojson.")";
Por tanto, modifica los parámetros de la petición y da como salida el JSON con el callback.
$.ajax({
url: 'http://paginaweb.com/directorio/script.php',
type:'GET',
async: false,
crossDomain: true,
dataType: "jsonp",
success: CargaOK,
error: CargaError
});
En el lado del servidor, el JSON puede ser simple e incluir sólo una respuesta, porque seguramente no necesites estructurar nada, con un sólo objeto entre { y } basta para incluir la respuesta que querías dar en un principio
[{"0":"la respuesta que quieras va entre las comillas"}]
Un saludo.
__________________ 21añero.
HTML/CSS, PHP, JS/jQuery, Mysql; NodeJS/Socket.io (& V8); C++ ; Python (wxpy); Ensamblador.
Músico (clarinetista/pianista) y compositor |