最近在用dhtmlx框架,不知道有没有人熟悉!我现在的问题是,我做一棵dhtmlxTree,用struts2返回了一个json对象。不知道dhtmlx有没有像JQuery那样有get或post方法那样获取一个(json类型)data,然后有一个回调函数

解决方案 »

  1.   

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

  2.   

    看了,$.getJSON这个方法是JQ里面的,我想问是dhtmlx框架里的方法
      

  3.   

    终于解决了,原来dhtmlx中有一个类,dhtmlxAjax,他里面的方法可以解决基本上的ajax问题dhtmlxAjax.get(url,callbackFunction);
      

  4.   

    强悍啊。我搞了两天了。这个方法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解析出来,请赐教。。
      

  5.   

    我知道dhtmlxcommon.js这个里面的dhtmlxAjax,定义了很多方法,有吧XML转换成JSON的,可是我找不到,你能告诉我一下吗,大侠,快快出现啊
      

  6.   

    dhtmlx???还有这个框架,怎么感觉名字怪怪的,
      

  7.   

    刚用完dhtmlx做的树 没像你说的要解析json嘛 dhtmlx我是用xml返回组建成树的
      

  8.   

    用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}
    ------------------------------------------------------------
    问题是怎么用?各位看官
      

  9.   

    恩  刚用完dhtmlx做的树 没像你说的要解析json嘛 dhtmlx我是用xml返回组建成树的