Web.py |通过POST和AJAX(生成器函数)生成数据

时间:2011-11-26 04:11:28

标签: jquery python ajax post web.py

我正在使用 web.py 框架来设置我的网站。当我单击一个按钮时,我想将数据发布到服务器,然后通过生成器函数/ yield 发回数据。基本上产生数据就好了,而不是等待我的数据功能完全完成。

我得到yield to work via GET,但我通过AJAX进行POST实现是个问题。

def POST(self):
    web.header('Content-type','text/html')
    web.header('Transfer-Encoding','chunked')
    yield "hello"
    sleep(10)
    yield "hello"

我的javascript:

<script type="text/javascript">
    jQuery(document).ready(function() {
        jQuery("#button").click(function() {
            jQuery.ajax({
                  type: "POST",
                  dataType: "text",
                  cache: false,
                  success: function(data){
                    jQuery("#container").html(data)
                  }
                }); }); });
</script>

输出:

HelloHello (after 10 seconds) 
rather than..
Hello (10 second delay) Hello

注意:我在本地计算机上使用web.py的内置服务器。

1 个答案:

答案 0 :(得分:2)

愚弄我--AJAX不支持流式传输。因此,当Comet或HTML5 WebSockets派上用场时就是这种情况。