Flask/JavaScript错误:不允许使用方法请求的URL不允许使用该方法

Flask/JavaScript错误:不允许使用方法请求的URL不允许使用该方法,javascript,python,html,flask,Javascript,Python,Html,Flask,我得到这个错误:方法不允许。请求的URL不允许使用该方法 有关守则如下: base.html: <form class="form-inline" method="POST"> <input id="nav_logout" type="submit" class="btn btn-default" value="Logout"> </form> api.py: @api.route('/api/v1/logout', methods=['POST']

我得到这个错误:方法不允许。请求的URL不允许使用该方法

有关守则如下: base.html:

<form class="form-inline" method="POST">
    <input id="nav_logout" type="submit" class="btn btn-default" value="Logout">
</form>
api.py:

@api.route('/api/v1/logout', methods=['POST'])
def logout_route():
    session.clear()
    return redirect(url_for('main.main_route'))
我在其他地方也有类似的代码。我读过很多类似的StackOverflow文章,都有同样的错误;许多人说flask代码没有正确的POST/GET方法,但将GET添加到api路由中并没有帮助


谢谢你的帮助

可能很明显,但您是否打开了控制台并检查了这是否确实是一个post请求?是的,我刚刚在终端中验证了它试图执行post。您的
标记没有指定
操作
,因此它默认为当前URL,我假设它不是
/api/v1/logout
。该URL是否定义了一个POST处理程序?@JohnGordon我的理解是,指定该操作将完全绕过代码的JavaScript部分。添加action=“{url\u for('api.logout\u route')}}确实有效,但我们的指导老师说我们不应该使用action标记。相反,我们必须用JavaScript监听点击,并使用JavaScript发布到APIHow?您如何监听点击?一个
onClick
处理程序?
@api.route('/api/v1/logout', methods=['POST'])
def logout_route():
    session.clear()
    return redirect(url_for('main.main_route'))