简报:
一个PHP文件,它打印一个HTML标记,其中包含一个充满数据的table
标记和一个在Google图表中呈现该数据的JS文件。
尽管:
我认为进行Ajax调用只是为了获得PHP文件在table
标记中打印的相同数据是不合理的
解决方案:(?)
- 使PHP文件在
table
标记下方/上方打印一个script
标记,其中数据JSON编码为变量 - 使用HTML5
data-
属性打印每个相应tr
标记中的数据,然后根据table
标记中打印的数据渲染Google图表 - 你会怎么做
另一个例子:
打印应用程序的基本URL,让JS文件知道它。
编辑
我认为我找到了一个优雅而好的解决方案:元标签。
元标签只是关于文档的元信息。比如:
<meta name="baseurl" content="<?php echo $baseurl ?>">
和/或
<meta name="users" content="<?php echo json_encode($users) ?>">
这很好,因为它将避免在视图部分中放置<script>
标记,并避免在html标记中放置突兀的data-
属性。
不管怎样,我还不太满意。我会继续寻找解决方案,倾听人们的意见。
我的选择将取决于数据更改的频率:
- 如果变化很大,将加载没有数据的页面,并进行HTTP调用以获取数据,让用户知道数据是新的,并在界面中显示下一次数据刷新时间,包括倒计时或可视化图形
- 如果数据没有太大的变化,那么可以使用添加Json数据作为变量的解决方案,在页面加载后在页面中使用该变量来构建表
希望能有所帮助。