[原] jquery-easyui的combotree在.net开发中不显示数据的问题

最近使用jquery-easyui 1.2,遇到一个问题。
一搜索,发现好多人在问:
问题见:http://jquery-easyui.wikidot.com/forum/t-248817/combotree-net
“combotree在.net开发中,一直不显示数据。
单独html页面就可以显示出来。同一数据文件,json格式绝对正确。”

解决问题首先要发现原因,用firebug试了一下,发现是combotree读取json的时候是用POST方法。
而.net环境不支持静态文件用POST方法获取内容。错误如下:
POST app_user.js

http://localhost:9655/js/app_user.js

405 Method Not Allowed

发现原因后,解决问题就简单很多。
找到easyui的js代码:
_41.addClass(“tree-loading”);
$.ajax({type:”post”,url:_3e.url,data:_3c,dataType:”json”,success:function(_42){
_41.removeClass(“tree-loading”);

在我的应用中,因为不需要POST方式获取json,就把type:”post”改为type:”get”即可。
已在easyui的官方论坛中说明这个问题,希望以后能多个method的设置选项。

2010.12.18 更新:
新版本jquery-easyui 1.2.1提供了tree组件的method方法设置,但是在用css自动解析方式时无效。
即通过《input class=”easyui-combotree” url=”…js” method=”get” /》调用时,仍然使用POST。
查看代码,原来是这里parseOptions时未对method进行解析:
$.fn.tree.parseOptions=function(_13c){
var t=$(_13c);
return {url:t.attr(“url”),…

加上对method的解析:
return {url:t.attr(“url”),method:(t.attr(“method”)?t.attr(“method”):”post”),…

问题解决。

©2012 便便代码人生. All Rights Reserved.

. 标签: combotree, easyui, jQuery, post

遵守创作共用协议,转载请链接形式注明来自http://bianbian.org 做人要厚道

相关日志

posted @ 2010-08-29 12:08  便便嘘嘘  阅读(753)  评论(0编辑  收藏  举报