将数据打印到外部JavaScript文件的更好方法


Better way to print data to external JavaScript files

简报:

一个PHP文件,它打印一个HTML标记,其中包含一个充满数据的table标记和一个在Google图表中呈现该数据的JS文件。

尽管:

我认为进行Ajax调用只是为了获得PHP文件在table标记中打印的相同数据是不合理的

解决方案:(?)

  1. 使PHP文件在table标记下方/上方打印一个script标记,其中数据JSON编码为变量
  2. 使用HTML5 data-属性打印每个相应tr标记中的数据,然后根据table标记中打印的数据渲染Google图表
  3. 你会怎么做

另一个例子:

打印应用程序的基本URL,让JS文件知道它。


编辑

我认为我找到了一个优雅而好的解决方案:元标签

元标签只是关于文档的元信息。比如:

<meta name="baseurl" content="<?php echo $baseurl ?>">

和/或

<meta name="users" content="<?php echo json_encode($users) ?>">

这很好,因为它将避免在视图部分中放置<script>标记,并避免在html标记中放置突兀的data-属性。

不管怎样,我还不太满意。我会继续寻找解决方案,倾听人们的意见。

我的选择将取决于数据更改的频率:

  • 如果变化很大,将加载没有数据的页面,并进行HTTP调用以获取数据,让用户知道数据是新的,并在界面中显示下一次数据刷新时间,包括倒计时或可视化图形
  • 如果数据没有太大的变化,那么可以使用添加Json数据作为变量的解决方案,在页面加载后在页面中使用该变量来构建表

希望能有所帮助。