【问题标题】:Problems Posting to Sinatra with jQuery使用 jQuery 发布到 Sinatra 的问题
【发布时间】:2011-10-15 17:40:13
【问题描述】:

我正在尝试向我的 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。一旦我得到信息,我也不确定如何从中得到我需要的东西。

【问题讨论】:

    标签: jquery ajax sinatra


    【解决方案1】:

    当您发送请求时,它不是作为 JSON 发送的,而是作为 POST 数据发送的。这意味着您只需使用params 对象即可在服务器端访问它。

    post '/' do
      pp params # outputs {"info"=>"some_info"} in the console
    end
    

    【讨论】:

    • 谢谢!我知道它一定不会太复杂,我只是找不到答案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-10
    相关资源
    最近更新 更多