用jQuery发布到Sinatra

时间:2013-02-05 18:53:40

标签: jquery ruby post sinatra slim-lang

我有以下路线

main.rb的

get '/' do
    slim :initial
end

post '/' do
    params.inspect
end

initial.slim

input id="coolBtn" type='button' value='POST Me'

javascript:
    $("#coolBtn").click(function() {
        $.post("/", { name: "John", age: 27 });
    });

下面

post '/' do
   params.inspect
end

点击一个按钮后,我想重定向并查看我传递的JS对象(或类似的对象)。但上面的代码没有这样做。单击按钮时没有任何反应。没有错误,没有消息......我在这里仔细阅读了一些相关主题但到目前为止没有任何帮助。我在这里错过了一些误解吗?如何从JavaScript内部向Sinatra App发送POST请求?

1 个答案:

答案 0 :(得分:2)

打开页面检查器(Firebug等),您应该看到POST请求。问题是$ .post是异步的(一个AJAX请求),并且不会重定向页面。

而是使用带有提交按钮的表单元素来重定向POST请求。