我正在尝试向我的Sinatra应用程序发出POST
请求,但我遇到了问题。基本上我有一个输入字段,提交在JS中执行类似的操作:
$.post("/", { info: "some_info"});
正如sinatra所接受的那样:
post '/' do
data = JSON.parse(request.body.read)
end
然而,在终端,它说:
JSON::ParserError - 706: unexpected token at '"info=some_info"':
这意味着它显然是在服务器端获取信息,但我不确定它为什么会抛出此错误。我以前从未使用过AJAX。一旦我得到了我将如何得到我需要的信息,我不确定。
答案 0 :(得分:4)
当您发送请求时,它不是作为JSON发送的,而是作为POST数据发送的。这意味着您只需使用params
对象即可在服务器端访问它。
post '/' do
pp params # outputs {"info"=>"some_info"} in the console
end