首先要弄清楚生命周期和处理过程:
用户请求->服务端渲染(PHP)->输出给客户端->浏览器渲染(HTML CSS JS)
在这样一个前提下,PHP渲染在JS渲染之前,而且JS渲染仅限于浏览器层面,因此你要实现PHP直接取JS变量值不可能。
因此楼上两位朋友说到的ajax方法其实非常正确,也是最常见的办法。
如果楼主你不会ajax,我再告诉你一个办法,请看代码:
// 按照楼主的源代码改的
var geolocation = new BMap.Geolocation();
geolocation.getCurrentPosition(function(r){
if(this.getStatus() == BMAP_STATUS_SUCCESS){
// 成功取到了位置信息
// 把用户id,位置信息用js写入cookie
// 然后....神奇的事情发生了
document.write('');
}
else {
alert('failed'+this.getStatus());
}
},{enableHighAccuracy: true});
你在AAAA.php的脚本内,实现读取cookie,这时候服务端也拿到了用户id,及对应的cookie;
注意:AAAA.php(你可以换成其他名称或者是控制器方法URL) 要和页面URL在同一个域名下。