Cytoscape.js创建边报错:源/目标节点不存在问题排查
问题:AJAX创建节点后无法创建边,报错源/目标节点不存在
我最近遇到了一个Cytoscape.js的问题:通过AJAX请求获取数据成功创建节点后,尝试创建连接这些节点的边时一直报错,说源节点和目标节点不存在,想请大家帮忙看看哪里出问题了。
已成功运行的节点创建代码
我用这段AJAX逻辑成功创建了节点:
success: function(data) { $.each(data['kids'], function(i, value) { cy.add({ group: 'nodes', data: { id: value['id'] }, position: value['position'] }); }) }
尝试创建边的代码(执行报错)
当我用下面的代码尝试创建边时:
cy.add({ group: 'edges', data: { id: 'e0', source: 'n0', target: 'n1' } });
收到的报错信息
Can not create edge
e0with nonexistant sourcen0
Can not create edgee0with nonexistant targetn1
我的AJAX返回数据结构
从返回的data来看,kids数组里的节点id分别是1和2,每个节点都带有对应的position坐标值。
可正常运行的官方示例代码
如果用Cytoscape文档里的示例代码,一次性创建节点和边就完全没问题:
cy.add([ { group: "nodes", data: { id: "n0" }, position: { x: 100, y: 100 } }, { group: "nodes", data: { id: "n1" }, position: { x: 200, y: 200 } }, { group: "edges", data: { id: "e0", source: "n0", target: "n1" } } ]);
实在搞不懂哪里操作错了,求指点!
内容的提问来源于stack exchange,提问作者user8980530
相关产品推荐
相关产品推荐

