提交表单而不刷新/重定向当前页面(Python(Django)+ jQuery + Ajax)

MrC*_*ooL 7 python django ajax jquery

使用Python和jQuery Ajax完全提交表单而不刷新当前页面的方法?我希望最终结果与Facebook评论的工作方式类似.

我目前正在使用jQuery Form来执行Ajax.但是,它没有给我我想要的用户体验,因为:

  1. 使用jQuery表单提交后,地址栏上的URL刷新为我提交的表单.

  2. 它确实刷新了页面.我特别不喜欢它,让我说我在页面底部向下滚动到最大值.提交表单后,它刷新页面,焦点被重定向到页面顶部.

我希望我已经明确表达了我想要的东西.我需要Facebook评论系统的作品.有人评论说,然后评论提交没有任何刷新页面.

编辑

jQuery代码:

$('#review_submit').submit(function() { 
        var options = {};           
        $(this).ajaxSubmit(options);
        return false; 
});



    $('[name=submit_review_btn]').click(function(){                      
        $('#review_submit').submit();
    });
Run Code Online (Sandbox Code Playgroud)

因此,处理提交的python代码需要从其服务器端代码重定向页面,因此将页面重定向到此URL"main_URL.com"

显示jQuery代码后,结果如下:

  1. URL显示在地址栏上:main_URL.com/ form_action_url <---这是我设置提交表单的表单操作.

  2. 页面重定向到我在服务器端设置的页面.

我对这种Ajax体验感到困惑.

g19*_*tic 8

您可以通过使用jquery的ajaxPost而不是使用jquery的表单来处理这个问题.这将允许您进入.serialize()表单(获取参数)并能够返回到JS函数,以便在"表单提交"后执行您想要的操作.查看jQuery.post()

的jsfiddle

当帖子通过AJAX调用发生时,这不会刷新页面.它允许你在帖子通过之后运行一个函数并执行你想要的任务(如果帖子返回数据,它将在这里可用...如果你想在这个之后做另一个GET或POST,它可以在这里完成......等等)