2

サイトスケープを使用してグラフでクエリの結果を表示しようとしています。私は 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>\
            ';
4

1 に答える 1

0

JS で直接記述された XML 文字列は、バックスラッシュを使用して行末を保護します。PHP コードもバックスラッシュを出力しますが、その後にキャリッジ リターンが続きません。したがって、"\n"each の後に挿入するか、 PHP コードから"\\"every を削除します。"\\"

アドバイス: 問題が発生した場合は、ブラウザでページの HTML ソース コードも確認してください。このエラーは明らかなはずです。また、Web ブラウザーの JS コンソールの使用方法を学びます (たとえば、Chrome と Opera 内で Ctrl-Shift-i を押すと、エラー パネルのある開発者ツールバーが開きます)。

于 2012-12-05T04:06:46.197 に答える