用于 Cytoscape 的 XMLSerializer 到字符串 (JQuery)

发布于 2024-09-18 01:56:06 字数 590 浏览 8 评论 0原文

我使用 Cytoscape Web 生成基因图谱。它需要字符串来绘制,并且我有 XGMML 文件,因此我使用 JQuery 来获取 XGMML 文件并将它们转换为字符串。这是我的代码:

$.get("ENSG00000148606.xgmml", function(data) {
      if (typeof data !== "string") {
       if (window.ActiveXObject) { // IE
        data = data.xml;
       } else {
        data = (new XMLSerializer()).serializeToString(data);
       }
      }
      vis.draw({ network: data }); //Line that draws the map. It's from Cytoscape Web.

     }); 

它在 IE 上完美运行,但当我尝试其他浏览器时,我什么也没得到。我试图通过 alert(data); 找出问题所在,结果除了 IE 之外的所有浏览器都出现了一个空的警告框。

有什么想法吗?

I use Cytoscape Web for generating gene maps. It needs string to draw and I have XGMML files so I used JQuery for getting the XGMML file and turning them into strings. Here is my codepiece:

$.get("ENSG00000148606.xgmml", function(data) {
      if (typeof data !== "string") {
       if (window.ActiveXObject) { // IE
        data = data.xml;
       } else {
        data = (new XMLSerializer()).serializeToString(data);
       }
      }
      vis.draw({ network: data }); //Line that draws the map. It's from Cytoscape Web.

     }); 

it works perfectly on IE but when I try other browsers, I'm getting nothing. I tried to figure out what's wrong via alert(data); and I get an empty alert box for all browsers except IE.

Any ideas?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

情魔剑神 2024-09-25 01:56:06

我不确定是否所有浏览器都实现了 XMLSerializer。也许您可以使用第三方库解析您的数据或推出您自己的数据。

I'm not sure if all browsers have implemented XMLSerializer. Perhaps you can parse your data with a 3rd party library or roll your own.

凉城已无爱 2024-09-25 01:56:06

您是否尝试过 $.ajax 而不是 get.这将有助于确保数据在序列化之前确实能够在 XML 中被识别。

$.ajax({
    url: 'ENSG00000148606.xgmml',
    type: 'GET',
    dataType: 'xml',
    timeout: 1000,
    error: function(){
        alert('Error loading XML document');
    },
    success: function(data){
        data = (new XMLSerializer()).serializeToString(data);
        vis.draw({ network: data});
    }
})

Have you tried $.ajax instead of get. It will help to make sure that the data is indeed recognized at XML before serializing it.

$.ajax({
    url: 'ENSG00000148606.xgmml',
    type: 'GET',
    dataType: 'xml',
    timeout: 1000,
    error: function(){
        alert('Error loading XML document');
    },
    success: function(data){
        data = (new XMLSerializer()).serializeToString(data);
        vis.draw({ network: data});
    }
})
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文