有没有使用 Python 和 jQuery Ajax 提交表单而不刷新当前页面的方法?我希望最终结果类似于 Facebook 评论的工作方式。
我目前正在使用 jQuery Form 来执行 Ajax。但是,它并没有给我想要的用户体验,因为:
使用 jQuery Form 提交后,地址栏上的 URL 刷新为我提交的表单。
确实刷新了页面。我特别不喜欢它,假设我在页面底部向下滚动到最大值。提交表单后刷新页面,焦点跳转到页面顶部。
我希望我已经阐明了我的观点。我需要像 Facebook 评论系统这样的东西。有人发表评论,然后评论就被提交了,根本没有刷新页面。
编辑
jQuery 代码:
$('#review_submit').submit(function() {
var options = {};
$(this).ajaxSubmit(options);
return false;
});
$('[name=submit_review_btn]').click(function(){
$('#review_submit').submit();
});
因此,处理提交的 python 代码需要从其服务器端代码重定向页面,因此将页面重定向到此 URL,“main_URL.com”
显示 jQuery 代码后,结果为:
URL 出现在地址栏上:main_URL.com/form_action_url <--- 这是我设置的用于提交表单的表单操作。
页面重定向到我在服务器端设置的页面。
我对这种 Ajax 体验感到困惑。
最佳答案
您可以通过使用 jquery 的 ajaxPost 而不是 jquery 的表单来处理这个问题。这将允许您 .serialize()
表单(以获取参数)并能够返回到 JS 函数以在“提交表单”后执行您想要的操作。查看jQuery.post()
这不会刷新页面,因为发布是通过 AJAX 调用进行的。它允许您在帖子通过后运行一个函数并执行您想要的操作(如果帖子返回数据,它将在此处可用...如果您想在此成功后执行另一个 GET 或 POST,可以在这里完成……等等等等)
关于jquery - 提交表单而不刷新/重定向当前页面(Python(Django)+ jQuery + Ajax),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7945848/