繁体   English   中英

Rails,发送json params

[英]Rails, sending json params

我必须使用一个需要包含json字符串的单个param的API:

def function
  data = params['data']
  # Do thing with the json string data
  #... More code
end

config.rb:

match "/thing" => "controller#function", :via => :post 

我搜索并阅读了文档,我似乎找不到如何做到这一点的方法。 我用form_for或form_tag函数搜索过,这似乎不可能。 我已尝试使用remote => true两种方法,但它没有做我想要的。

我也尝试使用jquery $ .ajax来执行此操作,但它以json格式发送参数而不是json字符串。

有没有办法做到这一点?

谢谢

尝试访问json对象

data = params[:data].first[0]

包含[0]是为了读取json格式化对象的第一个元素,假设它没有嵌套在另一个json对象中。

我认为Rails可能会自动将参数转换为哈希值,因为它识别出它是json。 您应该可以通过调用to_json将其重新转换为字符串。

您仍然可以将数据作为json字符串发送:

  • 在你的jquery ajax设置中,将contentType选项设置为“text / html”

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM