var geolocation = new BMap.Geolocation();
geolocation.getCurrentPosition(function(r){
if(this.getStatus() == BMAP_STATUS_SUCCESS){
//alert('您的位置:'+r.point.lng+','+r.point.lat);
}
else {
alert('failed'+this.getStatus());
}
},{enableHighAccuracy: true});
因为不会 AJAX,特来请教,非常感谢!上面的代码是获取当前位置经纬度,如何把里面的 r.qoint.lng
和 r.point.lat
传给 PHP 呢?
1
shcolo 2017-09-15 09:58:07 +08:00 1
$.post(url, {lng:r.point.lng,lat:r.point.lat}, function(e){
console.log(e) }) |
2
xiaozy OP @shcolo 感谢您的回复,请问$.post()中的 url,指的是哪个 URL 以及这个 URL 里应该是什么内容呢,因为不会 AJAX,见笑了。。。T-T
|
3
msg7086 2017-09-15 10:14:59 +08:00 1
url 不就是你用来接收 ajax 请求的 php 脚本么。
|
4
xiaozy OP @msg7086 我把 URL 改成了 list.php?id=$id,并在 list.php 里把经纬度获取的方法改成$lng = $_POST['lng'],好像可以接收到,但页面一直刷新是怎么回事呢?代码如下:
``` var geolocation = new BMap.Geolocation(); geolocation.getCurrentPosition(function(r){ if(this.getStatus() == BMAP_STATUS_SUCCESS){ var url = 'list.php?id=$id'; $.post(url, {lng:r.point.lng,lat:r.point.lat}, function(e){ console.log(e); $('body').html(e); }); } else { alert('failed'+this.getStatus()); } },{enableHighAccuracy: true}); ``` 我添加了这句`$('body').html(e);`因为我在 console 里看到输出的是 HTML 格式。然后就一直刷新。请问是我哪里出了问题呢?该如何解决,麻烦您了。谢谢!~ |
5
learnshare 2017-09-15 10:38:33 +08:00 1
不如先翻翻入门的书,再开始写?
|
6
xiaozy OP @learnshare 因为目前这是最后一步收尾工作了,测试中出现的问题定位不准确问题,想到最好的方式,只能用这种方式来做,因为完全不会 AJAX,所以就困住了,这之后肯定苦研这次项目中所遇到自己不会的问题和学习更多知识。。。T-T。
|
7
90safe 2017-09-15 15:08:39 +08:00
百度 ajax 例子,将两个值放在 data 里面传过去。
|
8
Outhwaite 2017-09-15 15:18:20 +08:00
如果你的 PHP 函数中没有什么返回值,就不需要 console.log(e)和 $('body').html(e); 了
|
9
szdubinbin 2017-09-15 20:19:21 +08:00
假设你用的是 jq $ajax,大概会是这样的
var youdata = { x: r.point.lng, y:r.point.lat } $.ajax({ type: 'POST', url: 'xxxx.php', data: youdata, dataType:'json', success:function(){ alert('success') } }) |
10
xiaozy OP @szdubinbin 对是这个样子的,不知道为什么 AJAX 一直无限刷新当前页整页 HTML。
|