我正在尝试使用 FireFox3 调试我的 Web 应用程序。但是,当 JSON 提要来自我的应用程序时,Firefox 想要在新程序中打开“application/json”。有没有办法将 FireFox3 配置为像常规文本文件一样处理 JSON 并在当前选项卡中打开 JSON?
谢谢。
JSONView Firefox 扩展非常好。
它格式化,突出显示等...
唯一的缺点是它需要将 mime 类型设置为"application/json"
. 但这对您来说并不是真正的缺点,因为根据您的“答案” (不应该是答案),您的问题是 mime 类型是"application/json"
,因此 Firefox 不知道如何处理它并下载它而不是显示。
尝试在浏览器扩展中打开。
[编辑 30.05.2010 - 更新了链接]
我会查看首选项 > 应用程序列表。"application/*" 的目标应用程序是什么?
除此之外,您使用 FireBug 吗?绝对必要,因为您可以在网络视图中查看标头和响应内容。
考虑使用 MIME 类型的 text/javascript 而不是 application/json
我只会使用Firebug - 它可以让您自己深入了解 JSON 对象,以及其他数百个有用的功能。
Json 提要的内容类型是什么。听起来它可能是某种应用程序而不是文本。
将提要的内容类型更改为基于文本的内容,FireFox 将不再尝试在另一个程序中打开它。
使用 application/json mimetype 发送 JSON 是正确的,而改变它是错误的。
text/javascript 被认为是过时的。
这是一个老问题,但我发现 Rails 的 respond_to 方法(至少从 3.1 开始)可以通过将查询参数 'format' 添加到相关资源中来说服以特定格式呈现。例如:
在控制器中:
def show
@object = Object.find(params[:id])
respond_to do |format|
format.html
format.json { render json: @object }
end
end
在浏览器中:
/object/1 # => renders as html
/object/1?format=json # => renders as json
/object/1.json # => also renders as json
无需更改 rails 应用程序即可导致此情况发生。就像魔术一样。