发掘一个js php加载/执行问题

时间:2015-11-09 11:59:54

标签: javascript php mysql

https://github.com/panique/huge/

运行基本Web框架

我遇到的首要问题是:html表需要实时更新才能解释数据库(mysql)的变化。

我被卡住了:我已经添加到index / index.php页面,将以下javascript代码添加到文件末尾(注意:在此index / index.php页面周围加载页眉和页脚)尝试刷新每隔几秒更新一次表的需要,以便根据mysql数据库状态重新加载html表。 index / tableChange模块只是收集mysql数据并返回查询。

<?php echo "
  <script language='javascript' type='text/javascript'>
    function loadlnk() {
      document.getElementById('tableHolder').innerHTML =
        \"<object type=\"text/html\" data=\"<?php echo config::get('URL'); ?>index/tableChange\"></object>\";
      setTimeout(loadlnk, 3000);
    }
    loadlnk();
  </script>";
?>

当我测试index / tableChange片段时,我能够在自己的个人网页中加载php(但是出于这个问题的目的,我需要将tableChange的内容加载到索引/索引页面。)

我还尝试在脚本内部添加$(document).ready(function(){但这似乎无助于完成更改表格所见的任何内容。

我看了解我所理解和可以找到的内容,但我认为这不是一个引用问题。

1 个答案:

答案 0 :(得分:0)

您可能希望删除内部PHP标记和echo语句,并尝试这样:

<?php

  echo "
  <script language='javascript' type='text/javascript'>
    function loadlnk() {
      document.getElementById('tableHolder').innerHTML =
        \"<object type=\"text/html\" data=\"" . config::get('URL') ."index/tableChange\"></object>\";
      setTimeout(loadlnk, 3000);
    }
    loadlnk();
  </script>";

?>

我发现我在控制台中收到错误,类似于以下内容:

  

X-Frame-Options拒绝加载:https://localhost/test/target.php   不允许框架。

解决方案,在这个例子中至少是一个快速的解决方案是在从/test/target.php ~name header('X-Frame-Options: sameorigin');发送输出之前添加一个标题然后它工作得很好。