0

我正在尝试找到一种在 Chrome 扩展程序中使用 AJAX 的方法(如果有更好的方法,则不必是 AJAX,请这样说)下载几个页面,其中每个 <a> 标记的内容都存储在大批。

每个页面都有类似的东西——带有不同的内部文本——:

<html>
<body>
<a href="#">Computer</a> <br />
<a href="#">Monitor</a> <br />
<a href="#">Mouse</a> <br />
<a href="#">Keyboard</a> <br />
</body>
</html>

我能够使用/更喜欢 jQuery。

谢谢,您不必为我编写代码。如果我被指出正确的方向,我会自己弄清楚。

编辑:我正在尝试从其他页面检索数据并将它们存储在一个数组中。

4

3 回答 3

1

除了跨域资源共享...

$.ajax({
    url: 'things.html?pageid=x',
    dataType:'html',
    success: function(html){
        $(html).find('a').each(function(){
            console.log($(this).text());
        });
    }
});

url - 请求页面@ things.html?pageid=x。

dataType - 指示成功函数应该解析的数据类型。

成功 - 遍历a返回文档中找到的元素的每个实例html,然后记录文本值。

于 2013-07-21T17:23:46.590 回答
1

myArr 是您想要将它们放入的数组...:

var myArr = [];
$.ajax({
    type: "get",
    url: "myURL.html",
    dataType: "html",
    success: function (data){
        $(data).find("a").each(function(){
            myArr.push($(this).text());
        }
    }
});
于 2013-07-21T17:28:25.327 回答
1

考虑到页面在同一个域上,如果你想做多个请求,那么你可能需要检查http://api.jquery.com/jQuery.when

于 2013-07-21T17:28:36.087 回答