gpt4 book ai didi

Jquery ajax 发送带有 JSON 对象数组值的 JSON 对象

转载 作者:行者123 更新时间:2023-12-01 01:53:27 26 4
gpt4 key购买 nike

注意:我在后端使用 Ruby on Rails。

我想使用 JQuery AJAX 发送以下数据:

data = [{a: 1, b: 2}, {c: 1, d: 2}]

$.ajax({
url: url,
type: 'post',
data: {'events': data}
})

但是当我使用 JQuery 发送这样的数据时,我会在 Rails 后端获取以下数据

{"events"=><ActionController::Parameters {"0"=>{"a"=>"1", "b"=>"2"}, "1"=>{"c"=>"1", "d"=>"2"}} permitted: false>

为什么我在后端没有获得如下数据

{"events"=>[{"a"=>"1", "b"=>"2"}, {"c"=>"1", "d"=>"2"}]

此外,我看到了一些答案,人们说使用 JSON.stringify 进行序列化就像

data = [{a: 1, b: 2}, {c: 1, d: 2}]

$.ajax({
url: url,
type: 'post',
data: {'events': JSON.stringify(data)}
})

但是将events值作为字符串发送,需要在后端反序列化。我认为没有必要使用 JSON.stringify 但如果有必要的话原因是什么?

最佳答案

这只是一个疯狂的猜测,但您是否尝试使用 jquery-Ajax 的“dataType”选项?

data = [{a: 1, b: 2}, {c: 1, d: 2}]

$.ajax({
url: url,
dataType: 'json',
type: 'post',
data: {events: data}
})

在 ruby​​ 端,您可能必须正确解码 json 字符串

关于Jquery ajax 发送带有 JSON 对象数组值的 JSON 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59398234/

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