weixin_33713707 2013-02-20 18:40 采纳率: 0%
浏览 26

Web2Py Ajax附加到DIV

I'm trying to append content to my div with ID "this_div" using AJAX.

HTML:

<a href='#' onclick="ajax('append?what=first',
['content'],'this_div')">click</a>

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

Controller:

def append():
    if request.vars.what == "first":
        something = "ABC"
    else:
        something = "DEF"

return "<script>jQuery('#this_div').append('"+something+"')</script>"

This loads the content of "something" to the div, but it doesn't preserve the previous content. Can anyone shed some light on why is it acting like that, please? I'm new to combination of Python/Web2Py/AJAX..

Thanks!

  • 写回答

1条回答 默认 最新

  • weixin_33704234 2013-02-20 20:07
    关注

    The problem is that the ajax() function itself overwrites the contents of this_div because that is the target specified (i.e., it replaces the DIV contents with the returned <script> element, which then appends the text to the DIV). If you want to append instead of overwrite, you can do so via Javascript, but in that case you need to specify ":eval" as the target:

    <a href='#' onclick="ajax('append?what=first', [], ':eval')">click</a>
    
    <div id='this_div'></div>
    

    Controller:

    def append():
        if request.vars.what == "first":
            something = "ABC"
        else:
            something = "DEF"
        return "jQuery('#this_div').append('%s');" % something
    

    Note, no need for the <script> tag in that case -- just return the Javascript to be executed. Also, if your append() function doesn't use the "content" input, the second argument to ajax() can just be an empty array (i.e., []) instead of ['content'].

    评论

报告相同问题?

悬赏问题

  • ¥15 HFSS 中的 H 场图与 MATLAB 中绘制的 B1 场 部分对应不上
  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?