如何解析JQUERY 通过AJAX请求来的HTML数据?
zinking
2009-04-04
我希望能够使用XPATH这样的东西,这样保持代码的可维护性为最大
/** * @author Woody */ $(document).ready(function() { $.ajax({url: '/page/test.html', type: 'GET', dataType: 'html', timeout: 5000, error: function(){ alert('error'); }, success: function(data){ var dom = $("div/p",data); $('#parse_result').append(dom); } }); HTML <div> <p><a>test dom tree</a></p> </div> 其实HTML还要长,但是为了简单测试起见先用了一个简单的HTML,有谁知道的一定要告诉我 我主要是想用JQUERY的XPATH来解析这段DOM }); |
|
wcily123
2009-04-05
我来给你看看!
![]() |
|
wcily123
2009-04-05
哈哈,貌似我找到了个办法!
不过不知道行不行? ![]() |
|
wcily123
2009-04-05
$.ajax({ url:'/htmltest', type:'get', dataType:'xml', timeout:1000, error:function() { alert("request error!"); }, success:function(data) { alert(data); $(data).find("div").each(function() { var text = $(this).text(); alert(text); }); } }); 服务器端的! protected void doGet(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws ServletException, IOException { httpServletResponse.setContentType("text/xml;charset=utf-8"); httpServletResponse.setHeader("Cache-Control","no-cache"); PrintWriter out = httpServletResponse.getWriter(); out.println("<div>"); out.println("<p>test dom tree</p>"); out.println("</div>"); out.flush(); out.close(); } 貌似按照html的方式不好读,因为咱们一般读的html的dom 都是 document.get.....或 $("#id")什么的现在,Ajax返回的是一个对象好像没法那样用弄! 我一看是也是像像你说的那样读取找了好久都未果! ![]() 最后有仔细的看了看你的目的,就像到了这个方法! 其实也不算什么方法了 估计你以前一直在用! 首先,html和xml 两者差不多,从某种角度上讲是一样的!然后呢我就把它们两认为是一样的!所以呢。。然后呢。。。。你怎么读xml就怎么读html不就行了! ![]() 注意哦!httpServletResponse.setContentType("text/xml;charset=utf-8"); 要设一下这个! ![]() 不知道我的办法怎么样! ![]() |
|
zinking
2009-04-08
首先,当然要感谢你回帖
但是显然你没有分清题意,然后就全部是无用功了 HTML和XML显然是有很大差别的 再其次我要使用XPATH,你完全NEGELECT |
|
bluky999
2009-04-10
说点我的想法!
1 不管是XML还是HTML还是XHTML,都是一种DOM结构,规范和严格程度不同而已; 2 对于ajax到的data, 只要是html或者比它更严格的,都可以使用JQ来直接处理,好比使用JQ来处理任何XHTML一样; 3 返回的数据不一定就要是server端动态输出哦,你给一个静态的html文件,也是一样的,可以做测试! 4 我有做过这样的应用; 就是吧3G多的业务数据全部处理成HTML格式的,然后使用AJAX带参数来请求,每次加载1M到客户端,然后对这1M的数据使用JQ和JS解析处理,实现用户交互! ![]() ![]() ![]() |
|
bluky999
2009-04-10
晕 这里的编辑器不能自动换行啊????
![]() ![]() ![]() |
|
Acaleph
2009-04-12
建议在SERVER端将需要的数据封装成JSON格式数据,页面用JQ来构建DOM,(代码)具有更好的弹性。
|
|
chenhongquan
2009-04-13
支持Acaleph
|
|
waiting
2009-12-27
这个行不?
load(url, [data], [callback]) 概述 载入远程 HTML 文件代码并插入至 DOM 中。 默认使用 GET 方式 - 传递附加参数时自动转换为 POST 方式。jQuery 1.2 中,可以指定选择符,来筛选载入的 HTML 文档,DOM 中将仅插入筛选出的 HTML 代码。语法形如 "url #some > selector"。请查看示例。 |