Rails:Dojo POST请求作为GET请求被接收

时间:2013-03-05 04:29:07

标签: ruby-on-rails post dojo

我正在尝试通过AJAX点击一个简单的按钮发出POST请求。

在DOM上,我有一个按钮:

<button id="MyButton">Click Me!</button>

我有一段javascript发出帖子请求:

require(["dojo/on", "dojo/dom", "dojo/request"],
    function(on, dom, request) { 
        on(dom.byId("MyButton"), "click", function(event) {
            request.post("/post_here").then(
                function(response) { alert(response); },
                function(error) { alert(error); }
            );
        });
    }

我还有以下路由和控制器操作:

post 'post_here' => "controller#action"

控制器动作

def action
    Rails.logger.debug "Hello!"
    render nothing: true
end

当我点击按钮发出发布请求时,收到错误消息:

No route matches [GET] "/post_here"

任何人都可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

这对我有用:

require(["dojo/on", "dojo/dom", "dojo/request"],
function(on, dom, request) { 
    on(dom.byId("MyButton"), "click", function(event) {
        request("/post_here", {'method': 'POST' }).then(
            function(response) { alert(response); },
            function(error) { alert(error); }
        );
    });
}