Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/288.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在页面上存储php数据以便与javascript/jquery一起使用的最佳方法?_Php_Javascript_Jquery - Fatal编程技术网

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

在页面上存储php数据以便与javascript/jquery一起使用的最佳方法?,php,javascript,jquery,Php,Javascript,Jquery,好的,我正在努力找出一种在不降低页面加载速度的情况下在页面上存储数据的最快方法: 我需要将信息存储在 稍后由jquery使用的页面 我的页面是一个事件页面,我想 将数据附加到每个事件锚点 有100多个事件要附加数据 事件锚点是使用php循环创建的, 因此,我可以使用 使用非语义标记,即rel=“some_data” 为循环的每个迭代创建jquery.data() 或者我可以单独再次运行循环,这次是在带有jquery.data()的脚本标记中 如果您有任何想法,我将不胜感激 一种可能是在服务器

好的,我正在努力找出一种在不降低页面加载速度的情况下在页面上存储数据的最快方法:

  • 我需要将信息存储在 稍后由jquery使用的页面
  • 我的页面是一个事件页面,我想 将数据附加到每个事件锚点
  • 有100多个事件要附加数据
事件锚点是使用php循环创建的, 因此,我可以使用

  • 使用非语义标记,即rel=“some_data”
  • 为循环的每个迭代创建jquery.data()
  • 或者我可以单独再次运行循环,这次是在带有jquery.data()的脚本标记中


    如果您有任何想法,我将不胜感激

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

    基本上:

    • 在PHP方面:
      • 构建事件数组
      • 使用
      • 将其注入HTML页面
    • 稍后,在JS端:
      • 只需使用这个Javascript变量
    这个解决方案的好处在于,它可以处理几乎任何可能的数据类型,速度非常快,而且非常容易开发


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

    <script type="text/javascript">
        var myArrayOfEvents = [ ... ];
    </script>
    
    <script type="text/javascript">
        var myArrayOfEvents = <?php echo json_encode($myEvents); ?>;
    </script>
    
    
    var myArrayOfEvents=[…];
    
    它可以用一些PHP代码生成,如下所示:

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

    当然,由您决定:

    • 定义事件所需的结构
    • 用PHP构建它
    • 在Javascript中使用它

    嘿,伙计,这听起来很棒-肯定比回显到脚本标记中更有效,对吧?
    json\u encode
    相当快;这避免了任何额外的循环,或者对某个函数的多次调用来处理数据,所以它必须非常有效。我怀疑您是否需要同时处理所有100个事件。为什么不使用jquery只请求必要的查询?