2

这可能是一个非常愚蠢的问题。我正在尝试使用http://www.hostip.info/use.html提供的 api 进行地理定位,以根据用户的 IP 地址查找用户地址。我将它与 jquery 结合使用,代码如下:

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

可悲的是,这似乎不起作用。警报永远不会触发,所以我假设呼叫永远不会返回。有没有人这样做过?谢谢

4

4 回答 4

4

我不认为给他们打电话是成功的。跨域限制可能会阻止您读取结果数据。如果 hostip 提供JSONP API,那将是可用的,但我没有在他们的网站上看到任何提及。

于 2009-08-26T03:42:45.943 回答
2

如果您使用 Google 的 AJAX API,那么使用其客户端位置功能非常容易获取位置——这不需要任何跨域调用。

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

否则,正如其他人指出的那样,您将需要提供 JSONP 的服务,或者您需要在自己的服务器上编写代理来为您获取数据。

于 2009-08-26T05:14:21.173 回答
0

您不能对 XML 数据进行跨域调用。其他网站提供 JSON 接口:

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

您可以使用YUI GET 实用程序或通过 JQuery进行跨域调用。

于 2009-08-26T04:38:29.827 回答
-1

您不能从 javascript 调用外部域。这绝对是问题所在。你要么需要在你的服务器上设置一个代理脚本来为你获取远程页面,要么找到一个服务而不是如上所述实现 JSONP。

于 2009-08-26T03:54:08.137 回答