dhtmlx获取json对象问题

ken010127 2011-03-23 01:19:58
最近在用dhtmlx框架,不知道有没有人熟悉!我现在的问题是,我做一棵dhtmlxTree,用struts2返回了一个json对象。

不知道dhtmlx有没有像JQuery那样有get或post方法那样获取一个(json类型)data,然后有一个回调函数
...全文
388 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
Hellowhh 2011-08-12
  • 打赏
  • 举报
回复
恩 刚用完dhtmlx做的树 没像你说的要解析json嘛 dhtmlx我是用xml返回组建成树的
wocaodsfakhasjk 2011-08-12
  • 打赏
  • 举报
回复
用XML效率太慢,所以要用JSON,、
说的解析json意思是:我后台返回来的是XML,那就一切正常,如果是JSON,就显示不出来。
因为:那些帮助文档都是基于XML的。
大家看这个方法的注释
loader.doSerialization() - returns string representation of XML object got with response;
这个方法可以显示出来所要返回的数据
var loader = dhtmlxAjax.postSync("getXML", encodeURI(document.getElementById('params').value));
getXML是我定义的一个action
var loader = dhtmlxAjax.postSync("getJSON", encodeURI(document.getElementById('params').value));
同样,GETJSON也是,都可以在浏览器显示,
可是:
function outputResponse(loader) {
//关键就是这里
//var data;
//data=eval("data="+loader.xmlDoc.responseText+";");
//alert(data.doSerialization());

if (loader.xmlDoc.responseXML != null){
alert(loader.doSerialization());

//chartObj.define("legend",data);

alert("如果返回的xml不是空的,得到response\n\n" + loader.doSerialization());
}
else if(loader.xmlNodeToJSON.responseJSON !=null){
alert(loader.doSerialization());
}
else{
alert("没有接收到XML数据");
}
}
根本全部都是XML的。
-------------------------------------------------------------------------
dhtmlxAjax这个类里倒是有很多方法,也有一个吧XML转换成JSON 的
dtmlXMLLoaderObject.prototype.xmlNodeToJSON=
function(a){
for(var b={},c=0;c<a.attributes.length;c++)
b[a.attributes[c].name]=a.attributes[c].value;
b._tagvalue=a.firstChild?a.firstChild.nodeValue:"";
for(c=0;c<a.childNodes.length;c++){
var d=a.childNodes[c].tagName;
d&&(b[d]||(b[d]=[]),b[d].push(this.xmlNodeToJSON(a.childNodes[c])))}
return b};
function callerFunction(a,b){
return this.handler=function(c){
if(!c)c=window.event;a(c,b);return!0}}
function getAbsoluteLeft(a){
return getOffset(a).left}
------------------------------------------------------------
问题是怎么用?各位看官
bossdai 2011-08-12
  • 打赏
  • 举报
回复
刚用完dhtmlx做的树 没像你说的要解析json嘛 dhtmlx我是用xml返回组建成树的
luohuijun619 2011-08-12
  • 打赏
  • 举报
回复
dhtmlx???还有这个框架,怎么感觉名字怪怪的,
wocaodsfakhasjk 2011-08-12
  • 打赏
  • 举报
回复
我知道dhtmlxcommon.js这个里面的dhtmlxAjax,定义了很多方法,有吧XML转换成JSON的,可是我找不到,你能告诉我一下吗,大侠,快快出现啊
wocaodsfakhasjk 2011-08-12
  • 打赏
  • 举报
回复
强悍啊。我搞了两天了。这个方法function outputResponse(loader){你是怎么写的啊}
我看官网的帮助文档:
◦loader.xmlDoc - HTTP Response object;
◦loader.xmlDoc.responseXML - xml object which came with reponse;
◦loader.xmlDoc.responseText - text which came with response;
◦loader.doXPath(xpathExp, docObj, namespace, result_type) - XPath Processor (see details in related chapter);
◦loader.doSerialization() - returns string representation of XML object got with response;
◦loader.doXSLTransToObject(xslDocument) - makes XSL transformation with object result (see details in related chapter);
◦loader.doXSLTransToString(xslDocument) - makes XSL transformation with string result (see details in related chapter).
--------------------------------------------------------------------
全是XML的啊,到底怎么才能把JSON解析出来,请赐教。。
ken010127 2011-03-23
  • 打赏
  • 举报
回复
终于解决了,原来dhtmlx中有一个类,dhtmlxAjax,他里面的方法可以解决基本上的ajax问题

dhtmlxAjax.get(url,callbackFunction);
ken010127 2011-03-23
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 ken010127 的回复:]

引用 4 楼 li463968565 的回复:

有的~~$.getJSON("test.js", function(json){
alert("JSON Data: " + json.users[3].name);
});

好,我看看文档
[/Quote]
看了,$.getJSON这个方法是JQ里面的,我想问是dhtmlx框架里的方法
ken010127 2011-03-23
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 li463968565 的回复:]

有的~~$.getJSON("test.js", function(json){
alert("JSON Data: " + json.users[3].name);
});
[/Quote]
好,我看看文档
li463968565 2011-03-23
  • 打赏
  • 举报
回复
帮助文档里面有的~~
li463968565 2011-03-23
  • 打赏
  • 举报
回复
有的~~$.getJSON("test.js", function(json){
alert("JSON Data: " + json.users[3].name);
});
ken010127 2011-03-23
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 lijian8552 的回复:]

没用过,帮顶下!!!
[/Quote]
谢谢!

81,091

社区成员

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

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