Esta es probablemente una pregunta muy tonta. Estoy tratando de hacer una geolocalización para encontrar una dirección de usuario basada en su dirección IP usando la api proporcionada por http: //www.hostip.info/use.html. Estoy usando esto en conjunción con jquery con el siguiente código:

$.get("http://api.hostip.info/get_html.php", function(data){
    alert("Data Loaded: " + data);
});

Lamentablemente, esto no parece funcionar. La alerta nunca se activa, así que supongo que la llamada nunca regresa. ¿Alguien ha hecho esto antes? Gracias

2
giroy 26 ago. 2009 a las 07:26

4 respuestas

La mejor respuesta

No creo que la llamada sea exitosa. Es probable que las limitaciones entre dominios eviten que lea los datos de resultados. Si hostip ofreciera una API JSONP, eso sería ser utilizable, pero no vi ninguna mención de uno en su sitio.

4
jsight 26 ago. 2009 a las 03:42

No puede realizar llamadas a dominios extranjeros desde javascript. Este es definitivamente el problema. Debe configurar una secuencia de comandos proxy en su servidor que obtenga páginas remotas por usted o buscar un servicio que implemente JSONP como se mencionó anteriormente.

-1
micmcg 26 ago. 2009 a las 03:54

No puede realizar llamadas entre dominios para datos XML. Otros sitios ofrecen una interfaz JSON:

http://ipinfodb.com/ip_query.php?ip=999.999.999.999&output=json

Que puede llamar entre dominios utilizando la YUI GET Utility o mediante JQuery.

0
ayman 26 ago. 2009 a las 04:38

Si usa la API AJAX de Google, entonces es muy fácil obtener la ubicación utilizando su Ubicación del cliente funcionalidad: esto no requiere ninguna llamada entre dominios.

if (google.loader.ClientLocation) {
    var lat = google.loader.ClientLocation.latitude;
    var lon = google.loader.ClientLocation.longitude;
    ...

De lo contrario, como han señalado otros, necesitará un servicio que proporcione JSONP o deberá escribir un proxy en su propio servidor para obtener los datos por usted.

2
npdoty 26 ago. 2009 a las 05:14