gpt4 book ai didi

ruby-on-rails - facebook开放图爬虫在rails操作中触发json响应

转载 作者:行者123 更新时间:2023-12-02 07:14:29 24 4
gpt4 key购买 nike

出于某种原因,Facebook 爬虫在我的 Rails 操作中触发了 json 响应。这会导致操作仅返回对象的 json 表示形式,而没有正常的 html 标记 + 打开图形标签。我已经用 Rails 3.2.6 对此进行了测试。我使用 facebook 打开图形调试器来查看抓取工具所看到的内容:http://developers.facebook.com/tools/debug .

代码非常简单。想象一个对象(例如用户)的简单“显示”操作。结尾为:

respond_to do |format|
format.js { render :json => @this.to_json }
format.html
end

facebook 爬虫正在触发 format.js,这会导致开放图标签无法呈现。任何想法为什么会发生这种情况或如何解决它?谢谢。

最佳答案

好的,Facebook 会发送一个接受 header

*/*

由于没有请求特定的格式,rails 只是按顺序进入respond_to block 。如果你首先在respond_to block 中列出你的js,如下所示,rails将使用JSON响应facebook开放爬虫,这是行不通的:

respond_to do |format|
format.js { render :json => @this.to_json }
format.html
end

只需切换顺序,默认情况下,rails 将使用 HTML 进行响应:

respond_to do |format|
format.html
format.js { render :json => @this.to_json }
end

我不知道为什么 Facebook 没有指定他们正在寻找的格式......对我来说这似乎很愚蠢。希望这对以后的人有帮助。

关于ruby-on-rails - facebook开放图爬虫在rails操作中触发json响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11112467/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com