don*_*ald 2 javascript ruby sinatra node.js ruby-on-rails-3
我想使用Ruby接收JSON对象.我写过:
require 'sinatra'
require 'json'
post '/' do
push = JSON.parse(params[:payload])
"I got some JSON: #{push.inspect}"
end
Run Code Online (Sandbox Code Playgroud)
而且我发送:
var options = {
host: 'localhost',
port: 4567,
path: '/',
method: 'POST'
};
var myFirstJSON = { "payload" : { "headers" :
[{ "from" : from,
"to" : to,
"subject" : subject }],
"body" :
[{ "primeira_parte" : primeira_parte,
"segunda_parte" : segunda_parte,
"terceira_parte": terceira_parte }]
}};
req.write(JSON.stringify(myFirstJSON));
Run Code Online (Sandbox Code Playgroud)
但是,我收到此错误:
TypeError - can't convert nil into String:
{"{\"payload\":{\"headers\":"=>{"{\"from\":\"test@test.com\",\"to\":\"test@test.com\",\"subject\":\"Testing\"}"=>{",\"body\":"=>{"{\"primeira_parte\":\"The following message to <test@test.com> was undeliverable.\\r\\nThe reason for the problem:\\r\\n5.1.0 - Unknown address error 553-'sorry, this recipient is not in my valid"=>"\\r\\nrcptto list (#5.7.1)'\",\"segunda_parte\":\"Final-Recipient: rfc822"}}}, "test@test.com\\r\\nAction: failed\\r\\nStatus: 5.0.0 (permanent failure)\\r\\nRemote-MTA: dns"=>nil, "216.75.35.163"=>{"\\r\\nDiagnostic-Code: smtp"=>nil}, "5.1.0 - Unknown address error 553-'sorry, this recipient is not in my validrcptto list (#5.7.1)' (delivery attempts: 0)\",\"terceira_parte\":\"Received: from unknown (HELO aws-bacon-delivery-svc-iad-1020.vdc.amazon.com) ("=>{"10.144.21.123"=>{")\\r\\n by na-mm-outgoing-6102-bacon.iad6.amazon.com with ESMTP"=>nil}}, "16 Apr 2011 14:11:15 0000\\r\\nReturn-Path: 0000012f5eb1cab3-09564031-57ef-4136-8cd7-9f368c5acd7d-000000@email-bounces.amazonses.com\\r\\nDate: Sat, 16 Apr 2011 14:23:20 0000\\r\\nFrom: tiago@tiagop.org\\r\\nTo: test@test.com\\r\\nMessage-ID: <0000012f5eb1cab3-09564031-57ef-4136-8cd7-9f368c5acd7d-000000@email.amazonses.com>\\r\\nSubject: Testing\\r\\nMime-Version: 1.0\\r\\nContent-Type: text/plain"=>nil, "\\r\\n charset"=>"UTF-8\\r\\nContent-Transfer-Encoding: 7bit\\r\\nX-AWS-Outgoing: 199.255.192.79\\r\\n\\r\\n<html><body><p> Helllooo </p></body></html>\\r\\n\\r\\n\"}]}}"}
Run Code Online (Sandbox Code Playgroud)
你想要的是这样的路线:
post '/' do
push = JSON.parse(request.body.read)
"I got JSON: #{push.inspect}"
end
Run Code Online (Sandbox Code Playgroud)
您不是对数据进行编码的表单,因此它不会在参数中设置.
| 归档时间: |
|
| 查看次数: |
2258 次 |
| 最近记录: |