点击事件在谷歌地图和AJAX
click event in google maps and AJAX
我有一个地图,当用户点击标记在php文件中发出AJAX请求时,我会尝试使用这些标记,AJAX将标记的lat/long和php文件中用户的lat/lang作为json发送。文件在db中进行查询,并返回一个带有结果几何图形的json数组。当我运行mozila控制台时,如果我放了一个ajax的alert(ar.latStart);
frond来显示数据,它就不会显示任何错误。Json数据
var coords = {'latStart': latPos , 'longStart' : longPos , 'latend' : latitude , 'longEnd' : longitude};
谷歌地图的事件是
google.maps.event.addListener(marker, 'click', function() {
var latitude = this.position.lat();
var longitude = this.position.lng();
var coords = {'latStart': latPos , 'longStart' : longPos , 'latend' : latitude , 'longEnd' : longitude};
getCoords(coords);
});
ajax函数getCoords
是
function getCoords(ar) {
alert(ar.latStart); //the alert show the values is hasnt have problem
$.ajax({
url: 'routing.php',
type: 'GET',
data: ar ,
cache: false,
dataType : 'json',
success: function(rsp){
alert(JSON.stringify(rsp)); //show an empty alert
}
});
}
和php文件
if(isset($_GET['data'])){
$obj = json_decode($_GET['data']);
//some php operation
}
echo $obj;
正如我所说的mozilla在consol中没有显示任何问题,显示了Ajax成功的空洞警报。如果有人能帮我的话,我试了好几天,但我找不到错误的
因为请求中没有名为data
的密钥,所以这将不起作用:
$_GET['data'] // because this key is not in the request.
相反,你可以尝试像一样发送
getCoords({"data":coords});
在php端:
if(isset($_GET['data'])){
$obj = json_decode($_GET['data']);
//some php operation
}
echo json_encode($obj); /*<---encode it and echo.*/
相关文章:
- 点击事件在谷歌地图和AJAX
- 在谷歌地图示例中为 Ajax 调用制作一个 JavaScript 闭包
- 谷歌地图API-在从ajax页面加载新数据之前清除标记、多段线
- 谷歌地图标记不显示ajax json数据
- 如何执行Ajax GET请求以从rails获取数据并将其传递给javascript(谷歌地图)
- 如何迭代数据为谷歌地图创建标记(使用express/jquery/ajax)目前正在获取SyntaxError
- 谷歌地图使用变量作为URL对AJAX进行地理编码
- 谷歌地图api无法根据ajax请求加载
- 谷歌地图使用AJAX添加标记
- 无法从 ajax 调用中检索谷歌地图标记坐标
- Javascript:如何在Ajax调用后显示带有标记的谷歌地图
- 谷歌地图标记更新与AJAX
- 标记新位置已创建,但旧位置也显示在 ajax 谷歌地图中
- 在当前页面中加载一个新的谷歌地图,加载AJAX
- 使用 AJAX 动态更新谷歌地图
- 谷歌地图信息窗口 ajax 加载内容
- 通过AJAX加载谷歌地图API,控制台错误
- 谷歌地图叠加图块:JSON base64 ajax 调用而不是图像网址
- 谷歌地图调用Ajax,为什么我必须点击两次
- 使用AJAX将谷歌地图中的json数据传递给MVC控制器