CytoscapeWeb を使用して小さな Web アプリを作成しています。グラフを含む XML ファイルをダウンロードし、表示します。ファイルが正常であることがわかっているにもかかわらず、グラフが表示されない (代わりに空白のグラフが表示される) 問題が発生しました。コードを精査して何日も無駄になった後、チュートリアルで提供されているサンプルコードを変更して問題を再現し始めました。
このコードは機能します:
function get_network(filename)
{
var output = "";
$.ajax({url: filename, type: "GET", dataType: "text", success: function(result) { output = result; } });
alert(filename);
alert(output);
return output;
}
そして、このコードはしません:
function get_network(filename)
{
var output = "";
$.ajax({url: filename, type: "GET", dataType: "text", success: function(result) { output = result; } });
//alert(filename);
//alert(output);
return output;
}
唯一の違いは、2 つの alert() ステートメントがコメント化されていることです。最初のステートメント (alert(filename);) のみを削除すると、アラート ボックスに空の文字列が表示されます。したがって、空白のグラフは、出力変数が正しく設定されていないことが原因であると思われます。
Firefox と Internet Explorer でこれをテストしました。出力変数ではなく文字列「ASDFSADF」を出力する警告ステートメントが 1 つある場合に機能します。ただし興味深いことに、'var jump = "ASDFSADF"' など、alert() ステートメントを使用しないコードは機能しません。
したがって、次の 3 つの可能性があるように思えます。
- 私が行ったある種の構文またはロジックの間違いがあり、解析された行数が重要になります
- Cytoscape Web が私には想像できない方法で問題を引き起こしています
- jQueryは「成功」関数を呼び出していません
しかし、この問題は私の専門外であり、私が考えていなかった何かによって引き起こされているのではないかと疑い始めています.
ただし、その構文エラーがどこにある可能性があるかは、私にはわかりません。私は高低を検索しました。誰かがこのようなことを見たことがありますか、そうでなければそれが起こっていることを知っていますか?
お手伝いいただきありがとうございます。
完全なコード:
http://pastebin.com/rvcV3LFL
XML ファイル:
http://pastebin.com/HCyuKQnx