【发布时间】:2011-06-22 12:56:29
【问题描述】:
一个稍微不同的问题,all the others 在那里......我可以使用 jQuery.ajax() 方法轻松地将 JSON 从 PHP 页面传递到 JavaScript,但这是我的情况:
我在 MySQL 中有一组联系人数据,每个数据都有名字、姓氏、lat、lng。我创建了一个页面,其中一半以表格格式显示联系人数据(名字、姓氏)。在另一半,我有一个谷歌地图,其中填充了来自数据集的标记(lat、lng)。现在,为了让两半共享同一个数据集,有两种方法,但我都不满意:
在 PHP 文件中,从 MySQL 中提取数据,使用该表的数据集,然后将该数据转换为 JSON,将其写入 JavaScript 变量并使用该变量填充 Google 地图。不喜欢这样做,因为有数百个数据点,这意味着 JSON 字符串非常大并且使页面膨胀,并且源中的所有数据都以人类可读的形式存在(我知道数据无论如何都在那里在所有情况下,它都在客户端,在这里更明显)。
在 PHP 文件中,从 MySQL 中提取数据,为表使用该数据集,然后在我的 JavaScript 中,通过
jQuery.ajax()对另一个生成 JSON 数据的 PHP 文件进行 AJAX 调用。讨厌这样,因为它会导致对同一个数据源的两次调用。
我确定我在这里遗漏了一些明显的东西,任何指针/帮助?
编辑:根据上面的选项#1,我很清楚如何将 JSON 从 PHP 回显到 JavaScript...只是对这两种解决方案都不满意(即 JSON 在源中,或者 JSON 实际上是对数据的第二次调用来源)。
【问题讨论】:
-
你目前是怎么做的?为什么不用 JavaScript 建表呢?在页面加载时,进行 Ajax 调用、获取数据、构建表格、显示点。根据数据的大小,您可能仍然希望使用分页。还是一次性显示表格中的所有数据?
-
为什么不用json数据建表和地图呢?使用 jQuery 会非常简单,但使用纯 javascript 也可以。
-
您可以对 JSON 进行一次 Ajax 调用,并使用它来生成表格和地图。或使用 javascript 遍历表格并从那里获取地图信息
-
曾考虑过这一点,但我们有一个自定义的 PHP 驱动的“表格”小部件,我们正在使用它支持分页、过滤、排序等。希望不必重新编写JS 中的东西。
-
这个小部件也适用于 Ajax?
标签: php javascript json