rails:为什么内容类型默认为 javascript/text



目前,当我卷曲根网址时,内容类型返回为text/javascript

curl -I https://foo.bar.com/

返回是Content-Type:text/javascript; charset=utf-8

当我在 chrome 中访问时,它按预期显示:

Content-Type:text/html; charset=utf-8

根控制器操作同时响应 HTML 和 JS,具体取决于请求类型。

if request.xhr?
  render partial: "item", collection: @listings, as: :listing, layout: false
end

问:如何使默认响应为 HTML 并保持控制器在不附加 html 文件类型的情况下响应 xhr 的当前功能?

您必须发送所需的类型。铬发送

Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8

因此,将-H Accept:text/html添加到您的 curl 请求中,然后查看它返回的内容。Rails 使用 Javascript for AJAX 和 Turbolinks。

最新更新