1

我试图通过 AJAX 单击一个简单的按钮来发出 POST 请求。

在 DOM 上,我有一个按钮:

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

我有一段 javascript 发出 post 请求:

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"

任何人都可以帮忙吗?

4

1 回答 1

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); }
        );
    });
}
于 2013-04-16T10:41:29.673 回答