我正在使用 CytoscapeWeb 编写一个小型网络应用程序。它下载一个包含图形的 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;
}
唯一的区别是两个 alert() 语句被注释掉了。当仅删除第一个语句 (alert(filename);) 时,警告框会显示一个空字符串。因此,空白图表似乎是由未正确设置输出变量的问题引起的。
我已经在 Firefox 和 Internet Explorer 中对此进行了测试。如果有一个警告语句打印字符串“ASDFSADF”而不是输出变量,它就会起作用。然而有趣的是,不使用 alert() 语句的代码,例如 'var junk = "ASDFSADF"' 不起作用。
所以在我看来,有三种可能性:
- 我犯了某种语法或逻辑错误,这使得解析的行数很重要
- Cytoscape Web 以我无法想象的方式导致了这个问题
- jQuery 没有调用“成功”函数
然而,我开始怀疑这个问题超出了我的专业知识,并且是由我没有考虑过的事情引起的。
然而,该语法错误可能在哪里超出了我的范围。我搜索了高低。有没有人见过这样的事情,或者知道正在发生这种情况?
非常感谢你的协助。
完整代码:
http
://pastebin.com/rvcV3LFL
XML 文件:
http: //pastebin.com/HCyuKQnx