如何向sinatra发送2d数组javascript

如何向sinatra发送2d数组javascript,javascript,ruby,arrays,sinatra,Javascript,Ruby,Arrays,Sinatra,我有一个javascript的2d数组,我必须将它发送到sinatra并使用datamapper进行存储, 我一直在尝试将它们放在表单中,但使用表单有点困难,我可以向sinatra发送一个数组并进行处理吗?您可以将其发送到sinatra,将内容编码为JSON字符串,并使用POST请求的正文部分传递 下面是字符串的外观 require 'json' JSON.dump([[1,2,3], [4,5,6], [7,8,9]]) # => "[[1,2,3],[4,5,6],[7,8,9]]"

我有一个javascript的2d数组,我必须将它发送到sinatra并使用datamapper进行存储,
我一直在尝试将它们放在表单中,但使用表单有点困难,我可以向sinatra发送一个数组并进行处理吗?

您可以将其发送到sinatra,将内容编码为JSON字符串,并使用POST请求的正文部分传递

下面是字符串的外观

require 'json'
JSON.dump([[1,2,3], [4,5,6], [7,8,9]])
# => "[[1,2,3],[4,5,6],[7,8,9]]" 
将内容发送到Sinatra(使用
curl
或任何其他HTTP库)

然后指示Sinatra处理路径

post '/loader' do
  json = JSON.load(request.body.read)
  # ... do something with json
end

注意。实际上,我还没有尝试过这段代码,所以您可能需要进行一些小的更改才能使其正常工作。这只是一个原型。

谢谢,把你的答案和@raina77ow的答案放在一起JS/JQUERY:
$.post(“/save/sources”,JSON.stringify(2darray),function(data){console.log(data)})
RUBY:
post'/save/sources'do json=json.load(request.body.read)json.each{j}
post '/loader' do
  json = JSON.load(request.body.read)
  # ... do something with json
end