日期:2014-05-16  浏览次数:20354 次

ext异步加载json的问题,又写了一个combo还是加载不了,烦,初学,请求支援
运行环境:IIs6的虚拟目录下
js:

var tree = new Ext.tree.TreePanel({
el:'tree', 
loader: new Ext.tree.TreeLoader({dataUrl:'data2.json'})
});

var root = new Ext.tree.AsyncTreeNode({text:'I am the root'});

tree.setRootNode(root);

tree.render();
//tree.getRootNode().expand(true, true);  
tree.expand();
在Ext.onReady下,环境绝对可以用,都写过好多个例子了
json在同一个目录下
[
{text:"住房申请模型", children:[{ 
  id:"1", 
  text:"住房申请模型1", 
  leaf:true }] 
}] 
运行后也不报错,就什么只能看到根目录,点击无任何效果

------解决方案--------------------
我试了你的代码,是可以显示的
但最开始,也出现了看不到的情况
原因是显示tree的DIV,设置的高度不够导致的
你在DIV中加入样式 style="width:300px;height:300px;"
看看会不会显示成功。
------解决方案--------------------
呵呵,会不会你访问的时候,使用的是物理路径?
也就是你直接打开了HTML文件

我是通过服务器路径去访问的 http://ip/direct/file

另外,建议使用FIREFOX调试一下,看看在哪个地方出现的错误。
------解决方案--------------------
呵呵,大概看出来什么问题了,没看到onReady事件哦。
Ext.onReady(function(e){
//代码要放在这里面执行才可以的

});
------解决方案--------------------
下面是我的代码,data2.json文件和这个页面文件处于同一级

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
<link rel="stylesheet" type="text/css" href="../framework/ext2.0/resources/css/ext-all.css">
<script type="text/javascript" type="text/javascript" src="../framework/ext2.0/adapter/ext/ext-base.js"></script>
<script type="text/javascript" type="text/javascript" src="../framework/ext2.0/ext-all.js"></script>
</head>
<body>
<div style="height:300px;width:300px;" id="tree"></div>
<script type="text/javascript">
Ext.onReady(function(e){
//路径由你自己的EXT路径决定
Ext.BLANK_IMAGE_URL = "../framework/ext2.0/resources/images/default/s.gif";
Ext.QuickTips.init();

var tree = new Ext.tree.TreePanel({
el:'tree',
loader: new Ext.tree.TreeLoader({
dataUrl:'data2.json'
})
});

var root = new Ext.tree.AsyncTreeNode({text:'I am the root'});

tree.setRootNode(root);

tree.render();
//tree.getRootNode().expand(true, true); 
tree.expand(); 
});
</script>
</body>
</html>