在没有页面重新加载的情况下将用户地理位置导入php的最佳方法

时间:2014-01-29 19:57:59

标签: javascript php cookies

我目前无法将lat / long处理成我的PHP代码。 当用户在选择框中进行选择时,将运行一个返回地理位置的脚本。 我的第一次尝试是将lat / long保存在JavaScript cookie中并从PHP中读取cookie。这样可行,但仅在重新加载页面时才有效。但我需要在我的SQL查询中使用lat / long,这是在用户单击按钮时运行的。 我还没有使用过AJAX,所以如果还有其他可能性,我会非常乐意听到!

谢谢!

1 个答案:

答案 0 :(得分:1)

基本上,没有。 PHP将仅在您的服务器上执行,因此浏览器的地理位置数据必须以某种方式传输到服务器。由于您只能通过HTTP请求将数据发送到服务器,因此您必须重新加载页面或使用AJAX。

但是,如果您只想要一个不精确的地理位置,您可能会猜测用户的ip位置(例如,页面http://www.ip2location.com已经实现了这样的位置“finder”)。然而,基于这样的事实,ip-address-ranges通常由同一提供商托管在同一区域。如果有人使用代理,此方法的行为也不正确。

对于Ajax,我会提出JQuery。在JQuery中,创建AJAX请求相对简单:

$.get('example/myDoc.txt', function(data) {
    alert(data);
});

此示例取自http://www.jquerysample.com/#BasicAJAX,并将请求服务器example / myDoc.txt文件。