Uso de AJAX en otro dominio

Publicado en 12 julio, 2012

Inicialmente no se permite que se obtenga datos por AJAX desde un dominio distinto al que se está ejecutando el script. Esto se puede arreglar mediante un callback.

En la llamada por AJAX hay que añadir:

  • La URL debe contener un parametro con valor «?» (p.e. &mapcallback=?). Esto generará un valor aleatorio.
  • El datatype pasa a ser jsonp
getVars = '?' + getVars;
getVars += '&mapcallback=?';

if(domain) var url = domain + '/scripts/maps/index.php' + getVars;
else var url = '/scripts/maps/index.php' + getVars;

$.ajax({
        url: url, 
        dataType: 'jsonp',
        success: function(json){
                    markers = json.markers;
                    (...)
                }
        }
});

 

En el PHP a donde hacemos la petición debería incluirse algo parecido a esto:

if(isset($_GET['mapcallback'])){
           echo $_GET['mapcallback']."(".json_encode($rows).")";
 }

 


Sin respuestas to "Uso de AJAX en otro dominio"


    ¿Algo que comentar?