Ext里的TreePanel使用TreeLoader加载子节点,txt和asp有区别吗?

luckysym 2012-07-03 10:26:02
初遇ExtJS,使用3.3.1版本,以下代码:

Ext.onReady(function () {
var tree = {
xtype : 'treepanel',
autoScroll : true,
loader : new Ext.tree.TreeLoader({
url : 'http://localhost/ext/data.txt'
}),
root : new Ext.tree.AsyncTreeNode({
text : 'My Company',
id : 'myCompany',
expanded : true
})
}

new Ext.Window({
height : 300,
width : 300,
layout : 'fit',
border : false,
title : 'Our first remote tree',
items : tree
}).show();
});


当上述代码中:
loader : new Ext.tree.TreeLoader({
url : 'http://localhost/ext/data.txt'
})


url路径文件扩展名为txt或htm时,页面上无法显示树的子节点,
而当同样的URL只是将data.txt改成data.asp,树的子节点就能显示出来

请教这是什么原因?
data.txt和data.asp部署在IIS上,内容一样,如下:

[
{
text: 'not a leaf'
},
{
text: 'is leaf',
leaf: true
}
]
...全文
105 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
Go 旅城通票 2012-07-04
  • 打赏
  • 举报
回复
这个是因为静态页面,html,txt默认IIS只支持get请求,不支持post请求,你的这个问题和这个问题差不多

jquery easyui datagrid数据源为json文件问题

而ext默认请求是以post发出的,所以出现了405 Method Not Allowed错误,所以无法加载数据

将ext的请求方法改为get,或者配置iis允许html,txt文件支持post请求

        Ext.onReady(function () {
var tree = {
xtype: 'treepanel',
autoScroll: true,
loader: new Ext.tree.TreeLoader({
url: 'data.txt'
, requestMethod: 'get'//////////
}),
root: new Ext.tree.AsyncTreeNode({
text: 'My Company',
id: 'myCompany',
expanded: true
})
}

new Ext.Window({
height: 300,
width: 300,
layout: 'fit',
border: false,
title: 'Our first remote tree',
items: tree
}).show();
});
luckysym 2012-07-04
  • 打赏
  • 举报
回复
自己顶一下

52,797

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 Ajax
社区管理员
  • Ajax
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧