jQuery和表单POST到python的差异

jQuery和表单POST到python的差异,jquery,python,http-post,bottle,Jquery,Python,Http Post,Bottle,我试图弄清楚如何将jQueryAjax与Python的瓶子模块结合使用 我创建了一个非常基本的页面,包含两个按钮,一个由jQuery控制,另一个在表单中作为提交按钮。这两个按钮都只是向瓶子服务器发送POST请求,该服务器应以“完成!”消息进行响应 这是模板的代码: <!DOCTYPE html> <html> <head> <title>Test Template</title> <!--

我试图弄清楚如何将jQueryAjax与Python的瓶子模块结合使用

我创建了一个非常基本的页面,包含两个按钮,一个由jQuery控制,另一个在表单中作为提交按钮。这两个按钮都只是向瓶子服务器发送POST请求,该服务器应以“完成!”消息进行响应

这是模板的代码:

<!DOCTYPE html>
<html>
    <head>
        <title>Test Template</title>
        <!-- JQuery JS -->
        <script src="http://code.jquery.com/jquery.js"></script>

        <script>
            $(document).ready(function() {
                $('button').on('click', function(){
                    $.post("/home");
                });
            });
        </script>

    </head>
    <body>
        <button>Submit</button>
        <form action="/home" method="post" enctype="multipart/form-data">
            <input type="submit" value="Submit" />
        </form>
    </body>
</html>
为什么单击表单按钮会正确返回消息,而单击jQuery按钮则什么也不做?jQuery是否以某种方式阻止了瓶子的响应

谢谢你的帮助


Pablo

…因为jquery按钮向服务器发送ajax请求。ajax请求发生在后台,对页面没有任何影响。另一方面,当您单击表单的提交按钮时,将加载一个新页面,其中包含服务器返回的内容

您需要在jQueryAjax请求中指定一个函数,当服务器返回数据时将调用该函数。在函数内部,您可以对数据执行一些操作——通常将数据插入到已经存在的标记中,例如

$.post("/home", function(dataFromServer) {
  $('#mydiv').html(dataFromServer);
}
ajax请求的美妙之处在于,您可以从服务器检索数据,然后将其插入页面——所有这些都无需重新加载页面

$.post("/home", function(dataFromServer) {
  $('#mydiv').html(dataFromServer);
}