web2py - 使用锚标记回调时不调用Controller函数

时间:2013-04-30 19:16:24

标签: python web2py

当用户访问杂志页面时,会出现一个按钮,如果该用户已经登录,则该按钮将允许当前登录的用户订阅特定杂志。该按钮不应对匿名用户可见。

我已经让用户登录时显示按钮,但点击按钮不会调用我的控制器功能。

如果这是控制器功能:

@auth.requires_login()
def subscribe():
    mag_id = request.args(0, cast=int)
    db.subscribe.insert(magazine=mag_id, subscriber=auth.user.id)

这是观点的一部分:

<div>
    {{=magazine.title}}
    {{=magazine.description}}
</div>

<div>
{{ if auth.is_logged_in():}}
    {{=A('subscribe', _class="btn_subscribe", callback=URL("subscribe", args=magazine.id))}}
{{pass}}
</div>

<a>按钮显示为:

<a href="#null" onclick="ajax('/myapp/default/subscribe/3',[],'me');return false">subscribe</a>

永远不会调用控制器函数,也永远不会订阅用户。

1 个答案:

答案 0 :(得分:1)

正如安东尼建议的那样,添加web2py.js是解决方案。