【问题标题】:Web2py AJAX callWeb2py AJAX 调用
【发布时间】:2014-04-10 12:52:03
【问题描述】:

我有一个要求,我想从我的 html 表单进行 AJAX 调用,但我无法从 layout.html 继承我的视图我正在尝试使用以下代码进行简单调用:

<input name="name" onclick="ajax('echo', [], 'this_div')"/>

<div id='this_div'></div>

在控制器中,我编写了以下代码:

def echo():
    pass

我只是在检查它是否到达断点,但是当我点击它时什么都没有发生。

如果我遗漏了什么,请告诉我。

编辑

我在 HTML 中添加了以下 js 文件:

<script src="{{=URL('static','js/modernizr.custom.js')}}" type="text/javascript" charset="UTF-8"></script>
<script src="{{=URL('static','js/web2py.js')}}" type="text/javascript" charset="UTF-8"></script>
<script src="{{=URL('static','js/jquery.js')}}" type="text/javascript" charset="UTF-8"></script>
<script src="{{=URL('static','js/val/dist/jquery.validate.js')}}" type="text/javascript"></script>
<script src="{{=URL('static','js/jquery-ui-1.10.3.custom.js')}}" type="text/javascript"></script>

但它仍然没有达到断点。

【问题讨论】:

    标签: jquery ajax web2py


    【解决方案1】:

    默认的 layout.html 通常包含 web2py_ajax.html,它本身包含 jQuery 和 web2py.js,这两者都是 ajax 函数工作所必需的。如果您不扩展 layout.html,那么您需要确保通过其他方式将 jQuery 和 web2py.js 加载到页面上(最佳方法可能取决于该页面的生成方式)。

    另外,ajax 调用应该是:

    ajax('{{=URL("default", "echo")}}', [], 'this_div')
    

    始终使用 URL() 函数生成内部 URL。仅使用 'echo' 会使 URL 相对于当前页面的 URL,这不是您想要的。

    【讨论】:

    • 我已经添加了.js文件的引用,但是还是不行。
    • 非常感谢!!它为我节省了很多时间。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-06-23
    • 1970-01-01
    • 2013-02-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多