2015-02-23 151 views
1

我希望我的程序能够像这样工作:当我在html中按超链接时,我希望它将新内容加载到“内容”部分。我有一个这样做的示例代码。但我试图在里面插入一个dygraph,我发现这个例子只传递字符串。我试图插入没有出现在内容的图表中,只有基本的HTML出现(按钮,背景颜色等)JavaScript - 插入到HTML的内容部分

function loadPage(page) 
{ 
    if(window.XMLHttpRequest) 
    { 
     xmlhttp = new XMLHttpRequest(); 
    } 
    else 
    { 
     xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); 
    } 

    xmlhttp.open("GET", page, true); 
    xmlhttp.setRequestHeader("Content-type", 
          "application/x-www-form-urlencoded"); 
    xmlhttp.send(); 

    xmlhttp.onreadystatechange = function() 
    { 
     if((xmlhttp.readyState == 4) && (xmlhttp.status == 200)) 
     { 
      document.getElementById("content").innerHTML = xmlhttp.responseText; 
     } 
    } 
} 

,如果我没有错,loadPage功能需要进行编辑。但我不知道如何。希望你们可以用外行人的话来回答我。

+0

你的代码非常好,甚至认为我可能想在'xmlhttp.responseText'和'xmlhttp.response'之间进行实验。如果你能看到一些正确解析的HTML元素,这意味着你错误地认为你的'dygraph'应该像你想象的那样出现。也许你需要用'dygraph' API来初始化你的DOM。你需要提供关于这个'dygraph'的更多信息。 – Calvintwr 2015-02-23 06:14:58

+0

我想显示内容部分中的任何简单的dygraph。像这样的http://dygraphs.com/tutorial.html – daisura99 2015-02-23 07:06:20

回答

0

您需要在获取后将您新检索的内容传递给dygraph

function loadPage(page) { 
    if (window.XMLHttpRequest) { 
     var xmlhttp = (window.XMLHttpRequest) ? new XMLHttpRequest() : new ActiveXObject("Microsoft.XMLHTTP"); 

     xmlhttp.open("GET", page, true); 
     xmlhttp.setRequestHeader("Content-type", 
          "application/x-www-form-urlencoded"); 
     xmlhttp.send(); 

     xmlhttp.onreadystatechange = function() { 
      if ((xmlhttp.readyState == 4) && (xmlhttp.status == 200)) { 
       var g = new Dygraph('content', xmlhttp.responseText, [rest of your parameters]); 
      } 
     } 
    } 
} 
+0

非常感谢你..我会努力工作..非常感谢 – daisura99 2015-02-23 11:08:22

+0

嗨卡尔文,我很抱歉,但你是什么意思/ /初始化你的新HTML?我是否在那里插入整个html代码? – daisura99 2015-03-09 12:34:58

+0

我更新了答案。你能看看你是否明白吗?如果没有,请在JSFiddle上提供一个工作示例,我会为您解决它。 – Calvintwr 2015-03-10 09:12:00