带有ajax的HTML页面,似乎无法实现RGraph

时间:2013-03-23 16:00:43

标签: php html ajax rgraph

我正在构建一个带有静态页眉和页脚的基本网页。 在左侧,我有一个菜单。 当我按下菜单按钮时会发出ajax请求,而在右侧DIV我会更新我的文本。

menu01 - menu01.php 包含PHP代码与一些Mysql结果,这工作正常。 我认为这很好,因为它是所有文本输出。

menu02 - Menu02.php 包含显示RGraph的html代码,右侧DIV中显示的某些文本正常,但图形不显示。 当我直接调用这个文件时,menu02.php文件显示正常。

我发现,来自php文件的RGraph输出不是我可以用来更新页面右侧DIV的xml数据。 ajax只怀疑收到一些文字,对吧? 因此,我必须找到另一种方法来动态更新我的页面并在右侧DIV上显示不同类型的内容,而无需重新加载整个页面。 有了这些信息,我想我知道为什么它不起作用,但我不知道如何得到我正在寻找的结果。有没有人知道在哪里寻找?

代码:

index.html:

    <script src="./js/ajax.js"></script>

 <section id="sidebar">
     <nav>
      <ul>
        <li>  <button onclick="goto_menu1()">Menu 1</button> </li>
        <li>  <button onclick="goto_menu2()">Menu 2</button> </li>
      </ul>
     </nav>
 </section>

ajax.js:

 function goto_menu1()
    {
      var xmlHttp = getXMLHttp();
      xmlHttp.onreadystatechange = function()
      {
        if(xmlHttp.readyState == 4)
        {
          HandleResponse(xmlHttp.responseText);
        }
      }
      xmlHttp.open("GET", "./menu01/menu01.php", true);
      xmlHttp.send(null);
    }

 function goto_menu2()
    {
      var xmlHttp = getXMLHttp();
      xmlHttp.onreadystatechange = function()
      {
        if(xmlHttp.readyState == 4)
        {
          HandleResponse(xmlHttp.responseText);
        }
      }
      xmlHttp.open("GET", "./menu02/menu02.php", true);
      xmlHttp.send(null);
    }

1 个答案:

答案 0 :(得分:0)

最后,只需在正确的页面上加载正确的js即可。 并为rgraph调用正确的jquery代码。

由于我对在动态创建的div中加载RGraph(或其他js模块)有疑问,我现在已经开始工作了。 怎么样?

index.html :
load js rgraph module
call a js function for updating div

js function:
open a php page, generate data and set up the html layout
next, check-document-ready, run jquery rgraph call

我希望它给那些拥有相同搜索结果的人带来一些希望:)