php - 在页面上存储 php 数据以与 javascript/jquery 一起使用的最佳方法?

标签 php javascript jquery

好的,所以我正在尝试找出在页面上存储数据而不减慢页面加载速度的最快方法:

  • 我需要将信息存储在 稍后由 jquery 使用的页面。
  • 我的页面是一个事件页面,我想要 将数据附加到每个事件 anchor 。
  • 有 100 多个事件可供附加数据。

事件 anchor 是使用 php 循环创建的, 所以我可以使用以下任一方法在该循环中创建数据元素

  1. 使用非语义标签,即rel="some_data"
  2. 为循环的每次迭代创建一个jquery.data()

或者我可以再次单独运行循环,这次是在带有 jquery.data() 的脚本标签内;

非常感谢对此的任何想法!

最佳答案

一种可能是在服务器端生成一个包含所有事件的 Javascript 数组或对象,并将其作为 Javascript 变量注入(inject)到页面中。

基本上:

  • 在 PHP 方面:
    • 构建事件数组
    • 使用 json_encode 将其转换为 Javascript
    • 将其插入 HTML 页面。
  • 然后,在 JS 方面:
    • 只需使用该 Javascript 变量即可。

该解决方案的优点是它几乎适用于任何可能类型的数据,速度非常快,并且非常容易开发。


生成的 HTML+JS 代码如下所示:

<script type="text/javascript">
    var myArrayOfEvents = [ ... ];
</script>

它可以用一些 PHP 代码生成,如下所示:

<script type="text/javascript">
    var myArrayOfEvents = <?php echo json_encode($myEvents); ?>;
</script>


当然,这取决于您:

  • 定义您想要的事件结构
  • 用 PHP 构建它
  • 在 JavaScript 中使用它

关于php - 在页面上存储 php 数据以与 javascript/jquery 一起使用的最佳方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2454282/

相关文章:

php - 如何合并两个数组并对重复键的值求和?

php - 允许的内存大小为 134217728 字节耗尽(试图分配 81920001 字节)

javascript - 使用 AngularJS 的搜索建议

jquery - 在响应式网站的叠加层中很好地显示 float 元素

javascript - 如何创建一个函数并向其传递一个变量?

php - 从完整域中剥离域名

php - 如何在 php 中设置 Symfony 2 从数据库配置

javascript - Google.maps.Map Javascript API V3 与 jquery 的兼容性

javascript - jQuery 排除特定页面的 document.ready 事件

jquery - 元素可以在浏览器上被 jquery 单击,但在 ruby​​-watir 中不能