如何在 Rails 中发送简单的 json 响应?

2024-04-10

我需要发送 json 响应取决于用户在输入中输入的数据,但我无法发送简单的 json 请求。

我关注了这篇文章——http://paydrotalks.com/posts/45-standard-json-response-for-rails-and-jquery http://paydrotalks.com/posts/45-standard-json-response-for-rails-and-jquery .

添加了 MimeType:

Mime::Type.register_alias "application/json", :jsonr, %w( text/x-json )  

在我的控制器中:

 def checkname
  respond_to do |format|
    format.jsonr do
      render :json => { 
         :status => :ok, 
         :message => "Success!",
         :html => "<b>congrats</b>"
      }.to_json
     end  
  end
end

但屏幕是空的,这是当我对此操作编写 GET 响应时来自 fiddler2 的响应代码:

    HTTP/1.1 406 Not Acceptable
   Content-Type: text/html; charset=utf-8
   X-UA-Compatible: IE=Edge
   Cache-Control: no-cache
   X-Request-Id: 14a8467908d9ce322d054607efdacf92
   X-Runtime: 0.011000
   Content-Length: 1
   Connection: keep-alive
  Server: thin 1.4.1 codename Chromeo

我做错了什么?


不确定如何处理自定义 MIME,但对于渲染 JSON,这应该可行:

def testme
  respond_to do |format|
    msg = { :status => "ok", :message => "Success!", :html => "<b>...</b>" }
    format.json  { render :json => msg } # don't do msg.to_json
  end
end

另外,如果您说明您正在使用哪个版本的 Ruby 和 Rails,这可能会有所帮助。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Rails 中发送简单的 json 响应? 的相关文章

  • 如何在 Ruby 2.2 上删除不安全密码来强化 Rails+webrick+https

    更新 首先 我的测试代码没有充分显示 ruby 2 4 看到 SSLCiphers 选项 而 ruby 2 2 没有 我编辑了下面的示例代码以清楚地表明这一点 更新 由于我的问题未能得到社区的任何帮助 我继续前进 两天后找到了解决方案 我将
  • 从父应用程序重新打开 Rails 3 引擎类

    就目前而言 您无法重新打开引擎中包含的引擎类 app只需在父应用程序的目录中添加相同的类即可 app目录 例如 my engine app controllers users controller rb my app app control
  • 如果结果类型为 json,则 Struts2 Action 被调用两次

    我有一个包含 4 个操作方法的 Action 类 所有四个操作操作方法都使用 json 结果 通过日志记录和调试 我已经验证如果我调用操作方法1 操作方法2和3也会被调用 但不是4 最后再次调用action方法1 生成json结果 如果我将
  • Rails 资源单数还是复数?

    我有一条搜索路线 我想将其设为单数 但是当我指定单数路线时 它仍然会生成复数控制器路线 这是应该的样子吗 resource search Gives me search POST search format action gt create
  • Rails 安全:完全避免大规模分配

    我倾向于不需要批量分配 http guides rubyonrails org security html mass assignment我的生产代码中的功能 在我的测试代码中 我经常使用它 但在这些情况下我do想要设置任意列 因此 如果在
  • 根据 .NET Core 2.1 中的更改重新加载 Serilog JSON 配置

    我目前正在开发 ASP NET Core 2 1 应用程序 并使用 Serilog 进行日志记录 我想在运行时为我的 Serilog 实现重新加载应用程序设置文件 我的目标是在运行时更改日志级别 例如我写入minimumLevelDebug
  • 使用 NewtonSoft 在一行中生成 JSON 对象

    我正在使用 JSON 库牛顿软件 http nuget org packages newtonsoft json生成 JSON 字符串 JObject out JObject FromObject new typ photos return
  • Heroku Rails 应用程序级别不记录日志

    我在 Heroku 上有一个 Rails 应用程序 它没有在应用程序级别进行日志记录 当前版本 红宝石1 9 3 导轨3 1 3 在 config environment development rb 中有以下几行 config logge
  • 全局传递 xhr onload 函数的值

    在我正在创建的应用程序中 我有以下 XMLHttpRequest 并且我正在尝试传递结果data在 的里面xhr onload 到在同一父函数中创建的数组中 var url http api soundcloud com resolve j
  • 包含 contains 的 json 格式查询

    我在 ansible 中有以下 json 输出 active transaction null cores 4 hostname alpha auth wb01 active transaction null cores 4 hostnam
  • 为 RoR 中的每个用户创建新的 URL 路径

    如何在 Ruby on Rails 中实时创建新的 URL 路径 例如 我希望我的用户拥有 name XXX com 或 XXX com name 仅供参考 我在 Heroku 上托管代码 看看 subdomain fu 插件 https
  • Elasticsearch:预期的字段名称,但得到了 START_OBJECT

    我一直在尝试运行以下查询 但每次运行时都会收到以下错误 nested ElasticsearchParseException Expected field name but got START OBJECT field value fact
  • Rails 3:如何让用户在表单中至少选择一个复选框?

    我有一个表单 用户在提交表单之前必须选中至少一个复选框 有没有任何插件可以处理这个问题或者jquery可以应用于我的表单 不幸的是我完全是一个 jquery 菜鸟 上面的所有答案都显示了如何在客户端执行此操作 这确实可能更好 正如您的问题标
  • 子文件夹和关系中的 Rails 模型

    我在自动加载的文件夹中组织了一些轨道模型 config autoload paths Dir Rails root join app models 我可以直接使用所有模型 例如Image first file name 但是当我尝试通过关系
  • 如何配置database.yml以部署到Heroku

    我最近升级到了最新版本的Rails 并且不明白如何将应用程序部署到Heroku 这是我的database yml file default default adapter postgresql pool 5 timeout 5000 dev
  • 如何使用 jq 从多个嵌套数组中提取键

    SETUP 我试图弄清楚 jq 过滤器是如何工作的 但在找出嵌套数组时遇到了困难 使用下面的数据我无法做出平的 5 键输出 我可以得到 1 个键和 4 个空值 或者 4 个键和 1 个空值 但不能得到所有 5 个键 1 个键 4 个空值 R
  • Haskell Data.Decimal 作为 Aeson 类型

    是否可以解析一个数据 十进制 https hackage haskell org package Decimal 0 4 2 docs Data Decimal html使用 Aeson 包从 JSON 获取 假设我有以下 JSON foo
  • Travis-CI 上的 Rails 数据库设置

    我正在尝试在 Rails 项目上使用 Travis 持续集成 文档说 对于 SQLite3 测试数据库必须配置如下 test adapter sqlite3 database memory timeout 500 但我想保留本地测试的默认配
  • 使用 Newtonsoft.Json.NET 搜索 JSON 根对象的正确 JsonPath 表达式是什么?

    大多数例子涉及Stefan G ssner 的书店示例 http goessner net articles JsonPath index html e3 但是我正在努力为简单对象 无数组 定义正确的 JsonPath 表达式 Id 1 N
  • Jackson 将单个项目反序列化到列表中

    我正在尝试使用一项服务 该服务为我提供了一个带有数组字段的实体 id 23233 items name item 1 name item 2 但是 当数组包含单个项目时 将返回该项目本身 而不是包含一个元素的数组 id 43567 item

随机推荐

  • 从流而不是文件加载配置文件

    我使用 OpenMappedExeConfiguration 和 ExeConfigurationFileMap 来加载配置文件 它们的重载表明它们只适用于文件名 有没有办法从流加载配置文件 背景 我想加载存储为嵌入式资源的配置文件 没有文
  • self.method = environ['REQUEST_METHOD'].upper() KeyError: 'REQUEST_METHOD' 使用 uwsgi 在 EC2 上设置 django 服务器时

    我得到了 当我击中http ec2 X YZ ABC EFG compute 1 amazonaws com admin 我很确定我的 Django 应用程序没有任何问题 因为该应用程序是空的 即 我刚刚使用创建了该应用程序django a
  • TSQL:提交时触发

    我们有一个后台系统 可以通过以下方式将发票信息插入到 SQL 数据库中 MSDTC http en wikipedia org wiki Distributed Transaction Coordinator存储过程中 应用程序插入标头 然
  • 浏览器推送通知出现错误“AbortError:注册失败 - 推送服务不可用”

    我创建了一个系统 使用 Firefox 和 Chrome 的浏览器推送通知来与网站访问者进行更多交互 我正在查看我的 Google Analytics 事件 了解订阅失败的原因 最大的原因是 推送服务不可用 我查遍了一切 试图找到这意味着什
  • 使用 PowerShell 替换文本文件的内容

    我浏览了这个网站 似乎找不到任何适合我情况的内容 基本上 我正在尝试向 NETLOGON 文件编写一个附加内容 以替换所有用户桌面上的文本文件中的文本 当前文本全面静态 我想要更改的文本对于每个用户来说都是唯一的 我想将当前文本 user1
  • xmlstarlet:过滤掉带有属性的元素

    如何过滤掉某些类型的不具有神奇值属性的元素并保留文档的其余部分 所有这一切都使用xmlstarlet 到目前为止我所要做的是 cat lt lt EOF gt database xml
  • ECS 服务 - 使用新的 Docker 映像自动部署

    我想通过使用最新的 Docker 映像启动我的 ECS 服务来自动部署应用程序 据我了解 部署新镜像版本的方法如下 创建新的任务修订版 更新 Docker 存储库上的映像后 更新服务并指定新版本 这似乎可行 但我想通过 CLI 来完成这一切
  • SHA256CryptoServiceProvider 和相关的可以在 WinXP 上使用吗?

    是否可以在 Windows XP 上使用 SHA256CryptoServiceProvider 和相关 SHA2 提供程序 我知道提供商使用 Vista 及更高版本中包含的加密服务 是否可以在 Microsoft XP 中安装这些服务 E
  • 在 Objective-C 中存储和检索数字对的快速方法

    我正在实现排队洪水填充算法 需要存储和检索数字对NSMutableArray 基本上 我正在创建一个数组 m queue NSMutableArray array 然后有时我填充数组 m queue addObject NSValue va
  • 下载时出错

    下载控制台会返回以下错误 帧加载因策略更改而中断 Example a href app exe Start Download a Console Preview 我应该在中配置一些东西吗Compiler or QWeb设置 我发现了 在传统
  • 无法使用 Windows 10 移动技术预览版将通用应用程序部署到手机

    我已解锁开发者卢米亚 635昨天刚刚更新为Windows 10 移动版技术预览版 http windows microsoft com en us windows preview download phone 操作系统版本 10 0 125
  • Perl 构造函数应该返回 undef 或“无效”对象吗?

    Question 什么被认为是 最佳实践 and why 处理构造函数中的错误 最佳实践 可以引用 Schwartz 的话 或者 50 的 CPAN 模块使用它 等等 但我对任何人提出的合理意见感到满意 即使它解释了为什么常见的最佳实践并不
  • 无法在 Primefaces RequestContext.execute() 调用中显示对话框

    我有一个选项卡视图 只要用户选择该选项卡 我就想在其中刷新该选项卡的内容 我还希望在刷新选项卡时弹出模式对话框 这是带有 tabChange ajax 事件处理程序的 tabView
  • 日语/字符的编程技巧[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我有一个想法 可以编写一些网络应用程序来帮助我 也许还有其他人 更好地学习日语 因为我正在学习日语 我的问题是该网站主要是英文的 所以
  • 从 for 循环 Python 将数字列表打印为数组

    使用下面的代码 它会一一打印值 phase 我正在尝试将这些值打印为 for 循环之外的数组 import math Period 6 2 time1 datafile1 0 magnitude1 datafile1 1 for i in
  • Swift REPL:如何保存/加载 REPL 状态? (又名挂起/恢复、快照、克隆)

    在 Swift REPL 中 保存 REPL 状态的方法是什么 例如 我想在 REPL 中做一堆工作 然后保存它 以便稍后加载 这个概念可能被命名为保存 加载 挂起 恢复 快照 克隆 序列化 反序列化等 任何让我实现这一目标的解决方案都会有
  • python中的单词排序

    在Python中是否可以不根据英语字母表而是根据自己创建的字母表对单词列表进行排序 您通常可以定义自定义比较方法 以便在您的限制范围内执行排序 我一生中从未编写过一行 Python 代码 但它与 Ruby 非常相似 让我注意到以下摘录自这一
  • gluUnProject Android OpenGL ES 1.1 用法

    我正在尝试使用 gluUnProject 将 Windows 坐标转换为世界坐标 我不想在模拟器或旧版 Android 系统 使用 OpenGL ES v1 0 中获取工作示例 这不是关于 GL 函数可用性的问题 我正在尝试使用 OpenG
  • 逻辑或运算符与按位或运算符

    有谁知道为什么 if false true true System out println True else System out println False Print True if false true true System ou
  • 如何在 Rails 中发送简单的 json 响应?

    我需要发送 json 响应取决于用户在输入中输入的数据 但我无法发送简单的 json 请求 我关注了这篇文章 http paydrotalks com posts 45 standard json response for rails an