当前位置: 首页 > 面试题库 >

使用jQuery / Ajax从外部站点获取特定元素

国仰岳
2023-03-14
问题内容

我正在使用jQuery和 此插件 从外部站点提取内容。

使用以下代码,效果很好:

$.ajax({
       url: 'http://www.somesite.com/',
       type: 'GET',
       success: function(res) {
          $("#here").html(res.responseText);
       }
     });

但是,我真正想做的只是从目标站点中拉出一个部分(div),我知道这仅在使用该load()方法时才可行,而在时才可行GET

然后,我找到了 这段代码 ,但是当我尝试将其构建到代码中时,它似乎不起作用,如下所示:

$.ajax({
       url: 'http://www.somesite.com/',
       type: 'GET',
       success: function(res) {
          $(res).find('div.content').each(function(){
              $('#here').append($(this).html());
         });

       }
     });

调查Firebug上的请求,该请求看起来确实成功,但是代码似乎无法<div class="content row">在目标站点上找到以下标记:

我是否需要确保目标元素具有#ID而不是类?

谢谢!


问题答案:

在最初的成功回调中,您将从responseText中获取html内容,在第二种情况下,您应该这样做:

   success: function(res) {
      $(res.responseText).find('div.content').each(function(){
          $('#here').append($(this).html());
     });

使用class =“ content”或id应该可以。但是,您应该注意,上面的代码将所有具有类内容的 div 添加到您的id =“ here”
div中,而这可能并不是您想要的。如果只需要特定元素的内容,请使用其 ID



 类似资料:
  • 我正在尝试从此API获取数据: 我设法使用wp_remote_get()来提出请求,但我一直没有得到任何结果,除了一个错误: 我只是指出,我已经使用了作曲家来设置作曲家。我的XAMPP适当文件夹中的json文件,其中包含请求: 在我的代码中,我包括API密钥的参数,如下所示,但由于某些原因,该参数不起作用:

  • 问题内容: 我想尝试弄清楚如何获得 即使按任何顺序排列,我也听说过PHP Simple HTML DOM解析器,但是我真的不想使用它。除了使用PHP简单HTML DOM解析器之外,是否有解决方案的可能。 如果它是无效的HTML,将无法执行此操作吗? cURL可以使用preg_match做类似的事情吗? Facebook做这样的事情,但可以通过以下方式正确使用: 我想要这样的东西,以便有人发布链接时

  • 问题内容: 我有一个现有的jQuery插件,可以进行很多AJAX调用(主要是JSON)。我想知道最快允许它进行跨站点调用的方法,即$ .get和$ .post URL不会来自同一域。 我听说过JSONP,但是想知道是否有人可以给我一个具体的例子来介绍整个过程。如果可能,我希望对脚本进行最少的更改。我应该使用某种proxy.php吗? 感谢您的时间。 问题答案: JSONP将允许您进行跨站点调用。请

  • 问题内容: 有没有办法使用jQuery获得块内容的第5行(第一个字母的偏移量)? 我的意思是可视线,浏览器计算的线,而不是源代码中的线。 问题答案: jQuery.fn.line: 用法: 示例: http : //jsbin.com/akave 这个怎么运作: 它遍历整个元素(实际上是元素的克隆),并 在每个单词中插入一个元素。跨度的最高偏移量已缓存- 当此偏移量更改时,我们可以假定我们在新行上

  • 问题内容: 我正在使用Ajax访问字典REST API。 响应: 在我的测试示例中,我收到有关成功的警报。我看到的大多数Ajax示例都使用循环,但是我返回一个结果。如何从对象中提取和值? 问题答案: 如您所见,您的回应以开头,以结束。因此,您的响应是一个数组。然后,在数组内部获得对象(以开头和结尾)。所以,你是一个数组,其可与被访问:(x是指数),并且将所选对象的每个成员可以与.DOT符号来访问,

  • 问题内容: 使用jQuery,如何获得具有插入符号(光标)焦点的输入元素? 换句话说,如何确定输入是否具有插入符号的焦点? 问题答案: 您应该使用哪一个?引用jQuery文档: 与其他伪类选择器(以“:”开头的选择器)一样,建议在:focus之前加上标签名称或其他选择器;否则,暗示通用选择器(“ *”)。换句话说,裸露等于。如果您正在寻找当前关注的元素,则$(document.activeElem