用过Ajax方面技术的都知道,部分的框架都会要求在客户端有个响应的function或者客户端的回调,这个方法在整个异步操作中就是用来解析服务器的响应.通常服务器给客户端的response以字符串格式传递,比如json或xml,而比较灵活的xml是最常见的.这也是因为在服务器端将结果转换成xml比较方便.那么解析这些xml成我们自己要的界面元素,就是必不可少.而这中解析,常见的就是用DOM对象,通过xpath,然后加个循环,最后拼凑出一个table或者select.这个过程是比较麻烦.像Ajax.net框架就做得比较智能,能像服务器那样调用对象,但是要形成一个table表格还是要一个个获取,应为客户端没有像dDatagrid那样可以方便的绑定数据源.这里介绍2种解析的方法,基本上就是自动展现.也许有人已经猜到,还是看看代码吧.

1.用服务器控件的RenderControl方法输出html,服务器控件最终在生成的还是html代码,利用这个把datagrid转换成table那就很简单了.而RenderControl方法就是把控件转成html的字符串.
        }
获取相应大的结果只需要一句话document.getElementById("divResult").innerHTML = response.value;

2.用 xslt解析xml,这种方法还有点技术含量,具体原理大伙都会,主要看看在js种如何去转换xml.
IE中

                //xmlSource 是传进来的xml字符串
 8解析Ajax响应结果的两种简单方法.            doc.loadXML(xmlSource); 
 9解析Ajax响应结果的两种简单方法.           
10解析Ajax响应结果的两种简单方法.            docXslt.async = false;
11解析Ajax响应结果的两种简单方法.            docXslt.load(xsltSource);
12解析Ajax响应结果的两种简单方法.
13解析Ajax响应结果的两种简单方法.            var oTemplate = new ActiveXObject("MSXML2.XSLTemplate");
14解析Ajax响应结果的两种简单方法.            oTemplate.stylesheet = docXslt;
15解析Ajax响应结果的两种简单方法.            
16解析Ajax响应结果的两种简单方法.            var oProcessor = oTemplate.createProcessor();
17解析Ajax响应结果的两种简单方法.            oProcessor.input = doc;
18解析Ajax响应结果的两种简单方法.           
19解析Ajax响应结果的两种简单方法.            oProcessor.addParameter("currentTime"new Date().toLocaleString());
20解析Ajax响应结果的两种简单方法.            oProcessor.transform();
21解析Ajax响应结果的两种简单方法.            sResult = oProcessor.output;  
22解析Ajax响应结果的两种简单方法.            // 这里是保存解析的结果 divResult1是个div
23解析Ajax响应结果的两种简单方法.            divResult1.innerHTML = sResult; 
24解析Ajax响应结果的两种简单方法.        }
25解析Ajax响应结果的两种简单方法.        catch (e)
26    }

Firefox

    }

 

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-07-13
  • 2022-12-23
  • 2022-12-23
  • 2021-06-25
  • 2021-11-18
猜你喜欢
  • 2022-01-27
  • 2021-04-18
  • 2021-11-14
  • 2022-12-23
  • 2022-02-12
  • 2021-11-27
  • 2022-12-23
相关资源
相似解决方案