2012-07-09 38 views
1

我有一個JavaScript中的2d數組,我必須發送到sinatra並使用datamapper存儲, 我一直試圖將它們放在窗體中,但它有點難以做到它與形式,我可以發送一個數組sinatra並處理它?如何發送一個2d數組javascript到sinatra

回答

2

您可以將它發送到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]]" 

發送的內容,以屈(使用curl或任何其他HTTP庫)

$ curl -d "[[1,2,3],[4,5,6],[7,8,9]]" http://localhost:3000/loader 

然後指示西納特拉處理路徑

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

注。我還沒有嘗試過實際的代碼,所以你可能需要做一些小的修改才能使它工作。這只是一個原型。

+0

謝謝,把你的答案和@ raina77ow的答案放在一起 JS/JQUERY: '$ .post(「/ save/sources」,JSON.stringify(2darray),function(data){console.log(data )});' RUBY: '交 '/保存/源' 做 \t \t \t JSON = JSON.load(request.body.read) \t \t \t json.each {|百靈| }' – pahnin 2012-07-09 12:22:58

相關問題