2012-08-14 77 views
0

我想建立基于xml文件的jstree菜单。我的代码是这样的:建立基于xml的jstree菜单

$("#div").jstree({ 
     "xml_data" : { 
      "ajax" : { 

      //"url": "jstree.xml" 
       "url": "http://192.168.101.1/xml/jstree.xml"  
       }, 
      "xsl" : "nest" 
       },   
     "plugins" : ["themes", "xml_data", "ui","types"] 

当文件是本地的,如上所述,然后是//,它的工作原理。如果我试图通过http调用访问xml文件,它不起作用。有任何想法吗?我真的很喜欢通过http调用xml文件,因为文件将一直在更新。

+1

你调试与萤火虫的Ajax调用?你有没有检查服务器的access.log?你能提供工作jsfiddle吗? (这通常有助于你自己解决:-) – Radek 2012-08-14 22:20:27

+0

@Radek,我不能在工作中使用jsfiddle。你认为我的语法是准确的吗?再次,我可以手动访问该XML文件,当我在URL中输入它。 – user1471980 2012-08-15 01:38:59

+0

使用firebug并查看ajax调用的工作方式。如果它返回一些东西。如果完成。尝试使用没有Ajax的XML数据。看看你的xml语法是否正确。 – Radek 2012-08-15 01:56:54

回答

0

首先确保http://192.168.101.1/xml/jstree.xml实际上返回xml数据。此外,根据Xml data plugin,在url参数变量需要加引号:

$("#div").jstree({ 
     "xml_data" : { 
      "ajax" : { 

      //"url": "jstree.xml" 
       "url": "http://192.168.101.1/xml/jstree.xml"  
       }, 
      "xsl" : "nest" 
       },   
     "plugins" : ["themes", "xml_data", "ui","types"] 
+0

我可以从我的开发环境中打开xml文件。它实际上是在双引号中,当我运行时,它一直说加载。所以,它没有找到xml文件。我不知道什么是错的。 – user1471980 2012-08-14 20:47:48

+0

它不是引号,它不是xml文件。我只是检查xml文件是否有效。它适用于我的开发环境为本地的xml文件。当我做“url”时:“jstree.xml”,它的工作原理。 – user1471980 2012-08-15 14:15:56