gpt4 book ai didi

ruby-on-rails - 如何在 rails-ujs Rails.ajax POST 调用(不使用 jQuery)中发送 JSON 数据?

转载 作者:行者123 更新时间:2023-12-04 02:16:36 24 4
gpt4 key购买 nike

我有一个需要与 Rails API 对话的 React 客户端应用程序。我想使用 rails-ujs方法 Rails.ajax。例如:

Rails.ajax({
type: "POST",
url: "/things",
data: mydata,
success: function(response) {...},
error: function(response) {...}
})

好像无法设置 data像这样的 JSON 对象:
mydata = {
thing: {
field1: value1,
field2: value2,
}}

我需要将其转换为 application/x-www-form-urlencoded像这样手动输入内容类型:
mydata = 'thing[field1]=value1&thing[field2]=value2'

这对于平面数据来说是可以的,但对于嵌套数据来说很快就会变得复杂。

jQuery 在发出请求之前会自动进行转换。

所以我想知道 如果 Rails UJS 有一些自动的方法 ,但我在文档或代码中找不到任何内容。

最佳答案

使用 Rails UJS 时,数据必须格式化为字符串形式参数。不幸的是,无法提供 JSON,至少目前在 Rails 6.0.2 中无法提供(不理想)。

解决方案

使用 URLSearchParams 将 JSON 转换为 URL 参数:

myData = {
thing: {
field1: value1,
field2: value2,
}}

Rails.ajax({
type: "POST",
url: "/things",
data: new URLSearchParams(myData).toString()
})

关于ruby-on-rails - 如何在 rails-ujs Rails.ajax POST 调用(不使用 jQuery)中发送 JSON 数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45820587/

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