2011-11-27 31 views
4

我写的代码(现在它是一个Chrome扩展,虽然我可能使跨浏览器,或试图让网站所有者包括增强),与内容工程用户正在查看的网页上的特定<div>以及属于同一讨论话题的任何页面。所以我找到了该线程其他页面的链接,并使用XMLHttpRequest来获取它们。我想要做的只是在结果页面上使用.getElementsByClassName('foo')安全解析/与HTML工作来自XMLHttpRequest的

我知道我可以做到这一点由该请求的结果加载到一个div(即Optimal way to extract a URL from web page loaded via XMLHTTPRequest?)。但是,在确定实现此目的最佳方式的同时,我发现存在安全问题(MDN - Safely Parsing Simple HTML to DOM)。

在这种情况下,我不知道这事了,因为扩展只会从同一个评论跟帖加载一个页面,用户已经在看,但我还是喜欢做的正确方法。

那么什么是从XMLHttpRequest与HTML工作的正确方法?

P.S.如果最好的答案是jQuery,那么告诉我,但我还没有开始使用jQuery,并且还想知道这里的基础知识。

编辑:我不知道为什么我按照我做过的那样描述了事情,但让我更清楚一点,我确实希望得到一个非JQuery答案。在学习JQuery之前,我一直试图学习javascript的基础知识,而当我不明白我在做什么时,我不想导入整个框架来调用一个函数。这可能看起来不理智,但这正是我目前所做的。

+2

使用原始XHR对象可能会很痛苦。 jQuery确实会使它更简单。查看帖子,获取和ajax函数http://api.jquery.com/?ns0=1&s=ajax&go= –

+0

jQuery是要走的路。 –

回答

0

既然你说你不反对使用jQuery,你应该看看load功能。它从您指定的地址加载html,然后将其放入匹配的元素中。因此,例如

$("#formDiv").load("../AjaxContent/AdvSearchForm.aspx?ItemType=" + ItemType); 

将从../AjaxContent/AdvSearchForm.aspx加载HTML然后将其放在与formDiv

可选参数的ID股利存在的数据传递到服务器的要求,也是一个回调函数。