我正在尝试使用cytoscape显示带有图形的查询结果。我不是javascript的专家所以也许这只是一个语法错误,有人可以查看我的代码吗?
<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 :(得分:0)
直接在JS中编写的XML字符串使用反斜杠来保护行尾。您的PHP代码也会输出反斜杠,但后面没有回车符。因此,要么在每个"\n"
之后插入"\\"
,要么从PHP代码中删除每个"\\"
。
建议:当出现问题时,还要在浏览器中查看页面的HTML源代码。这个错误在那里应该很明显。并学习使用Web浏览器的JS控制台(例如在Chrome和Opera中,Ctrl-Shift-i打开带有错误面板的开发人员工具栏)。