2012-11-28 85 views
2

我試圖用cytoscape顯示圖形查詢的結果。我不是JavaScript的專家,所以也許這只是一個語法錯誤,有人可以看看我的代碼?從php代碼創建cytoscape樹

<script type="text/javascript"> 
     window.onload = function() { 
      // id of Cytoscape Web container div 
      var div_id = "cytoscapeweb"; 

      // NOTE: - the attributes on nodes and edges 
      //  - it also has directed edges, which will automatically display edge arrows 
      var xml = '\ 
      <graphml>\ 
       <key id="label" for="all" attr.name="label" attr.type="string"/>\ 
       <key id="weight" for="node" attr.name="weight" attr.type="double"/>\ 
       <graph edgedefault="directed">\ 
       <node id="1">\ 
        <?php echo "<data key=\"label\">$prot</data>\\\n";?> 
        <data key="weight">2.0</data>\ 
     </node> 
    <?php $count=2;?> 
    <?php while($row = mysql_fetch_array($result)){ 
     echo "<node id=\"$count\">\\";      
     echo "<data key=\"label\">$row['interactor']</data>\\"; 
        echo "<data key=\"weight\">1.0</data>\\"; 
       echo "</node>\\"; 
       echo "<edge source="1" target=\"$count\">\\"; 
        echo "<data key=\"label\">$prot to $row['interactor']</data>\\"; 
       echo "</edge>\\"; 
     $count++; 
    }?> 
       </graph>\ 
      </graphml>\ 
      '; 
+0

你看到了什麼行爲?任何錯誤消息? – ernie

回答

0

直接寫在JS中的XML字符串使用反斜槓來保護行尾。你的PHP代碼也會輸出反斜槓,但是後面沒有回車符。因此,要麼在"\\"之後插入"\n",要麼從PHP代碼中刪除每個"\\"

建議:如果出現問題,也請查看瀏覽器頁面的HTML源代碼。這個錯誤在那裏應該很明顯。學習使用Web瀏覽器的JS控制檯(例如在Chrome和Opera中,Ctrl-Shift-i打開一個帶有錯誤面板的開發人員工具欄)。