首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用Ruby on Rails和Ajax从外部URL获取meta标记

的方法如下:

  1. 在Rails应用中创建一个控制器和一个对应的视图文件。
  2. 在控制器中定义一个方法,用于处理Ajax请求。例如:
代码语言:ruby
复制
class MetaController < ApplicationController
  def fetch_meta
    url = params[:url]
    response = HTTParty.get(url)
    doc = Nokogiri::HTML(response.body)
    meta_tags = doc.css('meta')
    render json: { meta_tags: meta_tags }
  end
end
  1. 在视图文件中创建一个表单,用于输入外部URL,并绑定一个按钮点击事件,触发Ajax请求。例如:
代码语言:html
复制
<%= form_tag fetch_meta_path, method: :get, remote: true do %>
  <%= text_field_tag :url, nil, placeholder: 'Enter URL' %>
  <%= submit_tag 'Fetch Meta', id: 'fetch-meta-btn' %>
<% end %>
  1. 在JavaScript文件中,监听按钮点击事件,并发送Ajax请求。例如:
代码语言:javascript
复制
$(document).on('click', '#fetch-meta-btn', function(e) {
  e.preventDefault();
  var url = $('input[name="url"]').val();
  $.ajax({
    url: '/meta/fetch_meta',
    method: 'GET',
    data: { url: url },
    dataType: 'json',
    success: function(response) {
      // 处理返回的meta标记数据
      console.log(response.meta_tags);
    },
    error: function(xhr, status, error) {
      console.error(error);
    }
  });
});

以上代码使用了HTTParty库来发送HTTP请求,并使用Nokogiri库来解析HTML文档。在成功的回调函数中,可以对返回的meta标记数据进行进一步处理,例如展示在页面上或保存到数据库中。

推荐的腾讯云相关产品:腾讯云云服务器(https://cloud.tencent.com/product/cvm)和腾讯云云函数(https://cloud.tencent.com/product/scf)。

请注意,以上代码仅为示例,实际使用时需要根据具体需求进行适当的修改和优化。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • 别梦依稀咒逝川,Ruby二十八年前|M1芯片Mac os系统配置Ruby(3.0.0) on Rails(6.1.1)开发环境(2021最新攻略)

    在每个开发者心里,都会有一门“最好”的语言,在这个世界的某个深处,在一些矫矫不群的人们心中,这门语言的名字叫做Ruby,它今年二十八岁了,历史和Java一样的悠久,但是它没有大厂背书、它的性能被开发者诟病、时至今日依然无法高效利用多核资源,甚至于它每年都要被“死亡”一次,相比于有太阳计算机系统、甲骨文、IBM 这些大公司支持的 Java,它是那么的一无所有,但是,它又拥有全世界最虔诚的“信徒”,拥有最活跃的开发者社区,这一切,又让它是那么的应有尽有。是的,这就是Rubyist的理念:有的时候,你想证明给一万个人看,到后来,你发现只得到了一个明白的人,那就够了。

    02
    领券